C# 将多个文本框包装到数据表中

C# 将多个文本框包装到数据表中,c#,asp.net,web-applications,webforms,C#,Asp.net,Web Applications,Webforms,我有一个网页,在我的数据访问层中,我正在将文本框更新到我的页面。这是一个简单的三层应用程序 我的DataAccess类中有这样的内容: public void SaveDataSet(DataTable table) { //What to do here??? } 我应该如何将所有文本框值作为DataTable参数传递给此函数?我建议您使用Microsoft Entity Framework,您可以获取一些视频教程。这些教程使用起来

我有一个网页,在我的数据访问层中,我正在将文本框更新到我的页面。这是一个简单的三层应用程序

我的DataAccess类中有这样的内容:

 public void SaveDataSet(DataTable table)
        {

           //What to do here???

        }

我应该如何将所有文本框值作为DataTable参数传递给此函数?

我建议您使用Microsoft Entity Framework,您可以获取一些视频教程。这些教程使用起来非常简单,速度非常快,您不必过多地了解它的工作原理,而且非常好;)

或者,如果您想使用数据表,您需要这样的东西

首先,我们创建datatable

private DataTable CreateDataTable()
{
DataTable myDataTable = new DataTable();

DataColumn myDataColumn; 

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "id";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "username";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "firstname";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "lastname";
myDataTable.Columns.Add(myDataColumn);

return myDataTable;
}
private void AddDataToTable(string username,string firstname,string lastname,DataTable myTable)
{
DataRow row;

row = myTable.NewRow();

row["id"] = Guid.NewGuid().ToString();
row["username"] = username;
row["firstname"] = firstname;
row["lastname"] = lastname;

myTable.Rows.Add(row);
}
然后,您需要一种方法将数据插入到datatable中

private DataTable CreateDataTable()
{
DataTable myDataTable = new DataTable();

DataColumn myDataColumn; 

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "id";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "username";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "firstname";
myDataTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.String");
myDataColumn.ColumnName = "lastname";
myDataTable.Columns.Add(myDataColumn);

return myDataTable;
}
private void AddDataToTable(string username,string firstname,string lastname,DataTable myTable)
{
DataRow row;

row = myTable.NewRow();

row["id"] = Guid.NewGuid().ToString();
row["username"] = username;
row["firstname"] = firstname;
row["lastname"] = lastname;

myTable.Rows.Add(row);
}
现在您可以创建一个方法,将datatable插入sql server,如下所示

private void insertDataTable(DataTable MyDataTable)
        {
            string ConnectionString = "your connection string";
            using (SqlBulkCopy bulkcopy = new SqlBulkCopy(ConnectionString)
            {
                bulkcopy.DestinationTableName = “dbo.<your table>”;
                try
                {
                    bulkcopy.WriteToServer(MyDataTable);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
              }
          }
private void insertDataTable(DataTable MyDataTable)
{
string ConnectionString=“您的连接字符串”;
使用(SqlBulkCopy bulkcopy=newsqlbulkcopy(ConnectionString)
{
bulkcopy.DestinationTableName=“dbo。”;
尝试
{
bulkcopy.WriteToServer(MyDataTable);
}
捕获(例外情况除外)
{
控制台写入线(例如消息);
}
}
}

哦!天哪……我刚刚读了实体模型框架,我知道这正在发生。谢谢你提供的信息。我正在尽可能快地学习……别提了:)我对EF的卓越表现非常满意。我还建议你加入ASP MVC 3,它与实体框架融合得非常好。是的,我开始使用实体框架学习MVC3。非常好。