Я делаю библиотечную программу, которая может добавлять и редактировать книги в данных 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
Имея отдельный метод для добавления в DataTable, создает ошибку (VS2013) ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение