将表单信息添加到单个SQL Server数据库行

时间:2012-02-29 06:15:22

标签: c# sql database

我是C#WinForms的SQL集成新手。我有一个现有的数据库,只想从我的表单上的文本框中获取值,并有效地将它们全部写入SQL Server数据库中的一行。

所以这就是我所拥有的,我试图制作一些通用的东西,但如果这不是一个好的做法,请告诉我。

每当我调用它时,它会创建一个新行。我知道这是因为...Rows.Add()行,但由于我的数据库表有一大堆列,而且表单有一堆文本框,我希望不要创建一个巨大的命令字符串。

static public void addToExistingTable(string table, string column, string value, SqlDbType valueType)
{
    try
    {
         using (SqlConnection con = new SqlConnection(Global.connectionString))
         {
              using (SqlDataAdapter dataAdapter = new SqlDataAdapter())
              {
                    string selectString = "SELECT " + column + " from dbo." + table;
                    string insertString = "INSERT into dbo." + table + " (" + column + ") values (@" + column + ")";
                    dataAdapter.SelectCommand = new SqlCommand(selectString, con);
                    dataAdapter.InsertCommand = new SqlCommand(insertString, con);
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter(column, valueType, value.Length, column));

                    using (DataSet dataSet = new DataSet())
                    {
                         dataAdapter.Fill(dataSet);

                          DataRow newRow = dataSet.Tables[0].NewRow();
                          newRow[column] = value;
                          dataSet.Tables[0].Rows.Add(newRow);

                          dataAdapter.Update(dataSet);
                     }
                }
            }
      }
      catch (SqlException exp)
      {
            Console.WriteLine("Insert Error: " + exp.Message);
      }                
}

如果有一个很好的做法或资源可以从一组表单控件(文本框)向SQL数据库添加新行,请告诉我。

0 个答案:

没有答案