Имея отдельный метод для добавления в DataTable, создает ошибку (VS2013)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Имея отдельный метод для добавления в DataTable, создает ошибку (VS2013)

Сообщение Anonymous »

Я делаю библиотечную программу, которая может добавлять и редактировать книги в данных DataTable для этого. Я пытаюсь разместить инициализацию и добавление в DataTable в различных методах, но я не могу заставить ее работать. < /p>
Вот мой код: < /p>
class Book
{
static DataTable library = new DataTable();

public static void Datatype()
{
// DataColumn Column;
DataColumn ISBN = new DataColumn();

// ISBN
// library.Columns.Add("ISBN");
ISBN.ColumnName = "ISBN";
ISBN.DataType = typeof(int);
ISBN.Unique = true;
ISBN.AllowDBNull = false;
ISBN.Caption = "ISBN";
ISBN.DefaultValue = 00;

library.Columns.Add(ISBN);

// Title
DataColumn Title = new DataColumn();
Title.ColumnName = "Title";
Title.DataType = typeof(string);
Title.Unique = false;
Title.AllowDBNull = false;
Title.Caption = "Book Tile";
Title.DefaultValue = "--";

library.Columns.Add(Title);

// Author
DataColumn Author = new DataColumn();
Author.ColumnName = "Author";
Author.DataType = typeof(string);
Author.Unique = false;
Author.AllowDBNull = false;
Author.Caption = "Author name";
Author.DefaultValue = "--";

library.Columns.Add(Author);

// Genre
DataColumn Genre = new DataColumn();
Genre.ColumnName = "Genre";
Genre.DataType = typeof(string);
Genre.Unique = false;
Genre.AllowDBNull = false;
Genre.Caption = "Book Genre";
Genre.DefaultValue = "--";

library.Columns.Add(Genre);

// OnLoan
DataColumn OnLoan = new DataColumn();
OnLoan.ColumnName = "OnLoan";
OnLoan.Unique = false;
OnLoan.DataType = typeof(Boolean);
OnLoan.AllowDBNull = false;
OnLoan.DefaultValue = false;
OnLoan.Caption = "check to see if book is on loan";

library.Columns.Add(OnLoan);
}

/* internal static void add(DataTable library)
{
DataRow Row;
Row = library.NewRow();
// asks user for ISBN number and then adds to datatable
int ISBN = Convert.ToInt32(Console.ReadLine());
Row["ISBN"] = ISBN;

// asks user for book title
string Title = Console.ReadLine();
Row["Title"] = Title;

DataRow row = library.Rows[0];
Console.WriteLine(row["ISBN"]);
Console.ReadKey();
}*/

internal static void add(DataTable library)
{
Console.Clear();
Console.WriteLine("input ISBN number:");
// DataTable library = new DataTable();

DataRow Row;
Row = library.NewRow();

// asks user for ISBN number and then adds to datatable
string ISBN = Console.ReadLine();
Int16 ISBN_con = Convert.ToInt16(ISBN);
Row["ISBN"] = ISBN_con;
library.ImportRow(Row);

// asks user for book title
string Title = Console.ReadLine();
Row["Title"] = Title;
library.ImportRow(Row);

DataRow row = library.Rows[0];
Console.WriteLine(row["ISBN"]);
Console.ReadKey();
}

internal static void view(DataTable library)
{
Console.Clear();

foreach (DataColumn column in library.Columns)
{
Console.Write("Column: ");
Console.Write(column.ColumnName);
Console.Write(" ");
Console.WriteLine("\n");
}

Console.ReadLine();
}
}
< /code>
Вот сообщение об ошибке: < /p>

Неупосточное исключение типа 'System.argumentException' произошло в System.data.dll

Дополнительная информация: Column 'Isbn' не совсем не так.>

Подробнее здесь: https://stackoverflow.com/questions/491 ... ror-vs2013
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»