c# - 将 Gridview 数据保存到数据库
问题描述
我有一个 Gridview,我想将它保存在我的另一个表中
我的代码是
protected void upload_Click(object sender, EventArgs e)
{
string query1 = "INSERT INTO tbl_Pre_Y1_Bus1 (CRITICAL,SPECIFICATION, [1],[2],[3],[4],[5],TMLCAL) VALUES (@CRITICAL, @SPECIFICATION, @[1], @[2], @[3], @[4], @[5], @TMLCAL)";
foreach (GridViewRow row in GridView2.Rows)
{
using (SqlCommand cmd = new SqlCommand(query1))
{
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@CRITICAL", row.Cells[0].ToString());
cmd.Parameters.AddWithValue("@SPECIFICATION", row.Cells[1].ToString());
cmd.Parameters.AddWithValue("@[1]", row.Cells[2].ToString());
cmd.Parameters.AddWithValue("@[2]", row.Cells[3].ToString());
cmd.Parameters.AddWithValue("@[3]", row.Cells[4].ToString());
cmd.Parameters.AddWithValue("@[4]", row.Cells[5].ToString());
cmd.Parameters.AddWithValue("@[5]", row.Cells[6].ToString());
cmd.Parameters.AddWithValue("@TMLCAL",row.Cells[7].ToString());
con.Open(); //here i am having an respected error
cmd.ExecuteNonQuery();
con.Close();
Page.Response.Redirect(Page.Request.Url.ToString(), true);
}
}
}
我的错误是“对象引用未设置为对象的实例”。帮我解决这个问题
解决方案
将 .ToString() 替换为 Convert.ToString,如下所示。它将处理空白和空值。然后您可以检查为什么该值变为空。您还需要添加 .Text ,如下所示。
cmd.Parameters.AddWithValue("@CRITICAL", Convert.ToString(row.Cells[0].Text));
cmd.Parameters.AddWithValue("@SPECIFICATION", Convert.ToString(row.Cells[1].Text));
推荐阅读
- python - 如何缩短代码以生成熊猫数据框?
- java - 没有数组的java随机数生成器
- node.js - socket.io leave current room and join after button is clicked
- java - org.hibernate.MappingException:属性映射在 ENUM 实体中有错误的列数
- algorithm - Longest Substring with no Y Divide and Conquer
- javascript - 确保以前未在注册表中使用过电子邮件
- elasticsearch - 如何在 ElasticSearch 中对单个字段应用完全匹配并在多个字段上同时应用不同?
- sql-server - SQL Server : trying to insert a count of zero when a record doesn't exist
- openlayers - 带圆角的矩形作为特征样式
- git - 持续集成期间不能泄露秘密