ASP。net操作数据库问题 急求大佬解答一下

佯佯佯 2019-05-09 09:42:05
在用ASP编辑Mysql的数据库增删改查功能 本人刚接触asp.net,大神勿喷
有以下问题请教:
1、点击编辑 编辑数据后

如图 点击更新 错误是未实例化 System.NullReferenceException:“未将对象引用设置到对象的实例。”
更新代码如下:
protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
con = new MySqlConnection(strCon);
string sqlstr1 = "update pricr set pricr_id='"
+ ((TextBox)(GridView2.Rows[e.RowIndex].Cells[0].FindControl("TextBox"))).Text.ToString().Trim() + "',price_max='"
+ ((TextBox)(GridView2.Rows[e.RowIndex].Cells[1].FindControl("TextBox"))).Text.ToString().Trim() + "',price_min='"
+ ((TextBox)(GridView2.Rows[e.RowIndex].Cells[2].FindControl("TextBox"))).Text.ToString().Trim() + "',price_time='"
+ ((TextBox)(GridView2.Rows[e.RowIndex].Cells[3].FindControl("TextBox"))).Text.ToString().Trim() + "', price_goodid='"
+ ((TextBox)(GridView2.Rows[e.RowIndex].Cells[4].FindControl("TextBox"))).Text.ToString().Trim() + "' where price_id='"
+ GridView2.DataKeys[e.RowIndex].Value.ToString() + "'";

com = new MySqlCommand(sqlstr1, con);
con.Open();
com.ExecuteNonQuery();
con.Close();
GridView2.EditIndex = -1;
bind();

}
是哪里有问题那 报错的位置是红色部分 更新代码有问题吗?
2、怎么在网页中点击添加按钮 会弹出输入框 然后赋值给GridView的每一列中 并保存到Mysql数据库





希望有大佬能解答一下疑惑
成长的道路漫长,学无止境。


...全文
239 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2019-05-09
  • 打赏
  • 举报
回复
下断点调试下 sqlstr1 是多少,sql拼接对不对。建议你用string.Format,而不是那么多加号,看着都眼晕
爱生活爱敏敏 2019-05-09
  • 打赏
  • 举报
回复
你看下数据库有些值是不是为空的,如果为空在程序里面最后处理一下为空返回默认值,要不让会未将对象引用设置
秋的红果实 2019-05-09
  • 打赏
  • 举报
回复
为了保证点击的不是head行,需要 if (e.Row.RowType== DataControlRowType.DataRow) { con = new MySqlConnection(strCon); string sqlstr1 = "update pricr set pricr_id='" + ((TextBox)(GridView2.Rows[e.RowIndex].Cells[0].FindControl("TextBox"))).Text.ToString().Trim() + "',price_max='" + ((TextBox)(GridView2.Rows[e.RowIndex].Cells[1].FindControl("TextBox"))).Text.ToString().Trim() + "',price_min='" + ((TextBox)(GridView2.Rows[e.RowIndex].Cells[2].FindControl("TextBox"))).Text.ToString().Trim() + "',price_time='" + ((TextBox)(GridView2.Rows[e.RowIndex].Cells[3].FindControl("TextBox"))).Text.ToString().Trim() + "', price_goodid='" + ((TextBox)(GridView2.Rows[e.RowIndex].Cells[4].FindControl("TextBox"))).Text.ToString().Trim() + "' where price_id='" + GridView2.DataKeys[e.RowIndex].Value.ToString() + "'"; com = new MySqlCommand(sqlstr1, con); con.Open(); com.ExecuteNonQuery(); con.Close(); GridView2.EditIndex = -1; bind(); }
秋的红果实 2019-05-09
  • 打赏
  • 举报
回复
列都转成templateField了吗? 五个cell里textbox的id都是“TextBox”? 这样做吧 ((TextBox)(GridView2.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString().Trim() ((TextBox)(GridView2.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() .............. 另外,每个cell不一定有textbox,最好判断下

TextBox tb=(TextBox)(GridView2.Rows[e.RowIndex].Cells[0].Controls[0]);
if(tb!=null)
{
    cellText=tb.Text.ToString().Trim();

}

佯佯佯 2019-05-09
  • 打赏
  • 举报
回复
该怎么去获取值呢 有具体的代码嘛 就是原问题截图中输入进去的值
大鱼> 2019-05-09
  • 打赏
  • 举报
回复
写法有点奇怪 (GridView2.Rows[e.RowIndex].Cells[0].FindControl("TextBox"))).Text.ToString().Trim()你这个是不是为空?
  • 打赏
  • 举报
回复
debug,看是哪行报错,然后再看是哪个值为null引起的报错
正怒月神 版主 2019-05-09
  • 打赏
  • 举报
回复
调试,然后就会跑到出错的行了。 然后你看是哪个值空引用了。
佯佯佯 2019-05-09
  • 打赏
  • 举报
回复
具体怎么操作呢
在CAD(计算机辅助设计)软件中,线性是构建采矿工程图的重要元素。"cad采矿用各种线性"指的是在CAD环境下,为了精确地表示采矿工程的地质结构、开采路径、巷道布局等,所使用的一系列特定线型。这些线型通常包括连续线、虚线、点划线以及定制的特殊线型,以便清晰地标识不同类型的地质特征、开采边界和安全区域。 线型在CAD中起到区分和标识不同对象的作用。例如,连续线可能用于表示巷道的实际走向,虚线可能用于表示规划中的巷道或尚未施工的部分,点划线则可能用于显示支撑结构或危险区域。通过选择合适的线型,工程师们可以更直观地理解采矿工程的设计和进度。 `.lin`文件是CAD中的线型文件,它包含了线型的定义。用户可以自定义线型,如设置线型的比例因子、每个线段的长度和间隔,以及它们的组合方式。`.lin`文件可以被CAD软件读取,使得用户在绘图时能够选择并应用这些预定义的线型。 `.shp`和`.shx`文件则是与CAD中的形状文件相关的。`.shp`文件是一种存储地理空间数据的标准格式,通常包含几何对象(如点、线和多边形)的信息。在采矿领域,这些文件可能用于表示矿体的边界、巷道的位置或其他地质特征。`.shx`文件是`.shp`文件的索引,用于快速访问和处理数据,提高软件的性能。 结合这些文件,我们可以创建一个全面的采矿工程图,其中包括了各种定制的线性表示,使设计和分析工作更为准确高效。在实际操作中,工程师首先会根据需求定义或导入`.lin`文件,然后在绘制巷道、矿体和其他元素时选择相应的线型。同时,他们会利用`.shp`和`.shx`文件来加载和管理地理空间数据,以便在CAD环境中呈现采矿区域的三维视图和二维平面图。 通过熟练掌握CAD中的线性操作,采矿工程师能够更好地进行规划、模拟和沟通,确保采矿作业的安全性和经济性。此外,这些技术也可以应用于其他工程领域,如土木工程、地质调查等,因为线型的使用是通用的,旨在提供清晰的视觉表示和专业信息的传递。因此,深入理解和应用CAD中的线性是现代工程设计不可或缺的一部分。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧