我在名为'molasses_analysis'的表中有98列,我需要使用我的c#桌面应用程序插入记录。
我的代码示例如下。在C#中插入一个表中的多个值
string insert_sql = @"insert into molasses_analysis(mo_entry_date, mo_entry_time, mo_code, mo_brix, mo_pol, mo_purity, mo_crtd_by) " +
" values(@entry_date, @entry_time, @mol_code, @brix, @pol, @purity, @crtd_by)";
try
{
List<SqlParameter> param = new List<SqlParameter>();
param.Add(new SqlParameter("@entry_date", entry_date));
param.Add(new SqlParameter("@entry_time", entry_time));
param.Add(new SqlParameter("@mol_code", mol_code));
param.Add(new SqlParameter("@brix", brix));
param.Add(new SqlParameter("@pol", pol));
param.Add(new SqlParameter("@purity", purity));
param.Add(new SqlParameter("@crtd_by", crtd_by));
int inserted_rows = SqlHelper.ExecuteNonQuery(dbConn.sqlConn(),CommandType.Text, insert_sql, param.ToArray());
}
catch (Exception ex)
{
MessageBox.Show("Data not saved!\nError message - "+ex.Message, "Error!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
在这里,我只是用只有七场/列,但它会很忙碌,痛苦写这样的代码为98列和分配SQL参数为每列。 我的问题是,是否有任何清洁和良好的代码插入使用C#代码多列?
不是真的,不是。你可以通过列和列的值来使整个事情变得动态,但是你仍然需要执行最终的结果。 –
不,没有AFAIK。您应该查看EntityFramework或类似的库。通过管理所有这些东西,为您节省大量时间。 – stybl
你可以做的“最好的”是动态地建立你的SQL语句,有一个你需要添加值的字典或列表,以及你需要的值的类似列表(或相同的字典/列表)放置到这些列中,然后将所有这些使用循环组合在一起以连接正确的SQL并添加所有参数。 –