我是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数据库添加新行,请告诉我。