ASP.NET 同时向一个数据库的两个表插入记录
答案:5 悬赏:30 手机版
解决时间 2021-04-03 04:58
- 提问者网友:嗝是迷路的屁
- 2021-04-02 11:56
ASP.NET 同时向一个数据库的两个表插入记录
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-04-02 12:19
SqlConnection cn=new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["key"].ToString());//这里要根据你的链接串在webconfig里的位置来写的。
SqlCommand cmd=new SqlCommand("insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)");
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();追问未将对象引用设置到对象的实例。
SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString );
这句有错。最后是tostring()也同样,应该怎么改。。
webconfig的链接
追答你的代码写错了,最后多了个ConnectionString,删掉试试看呢。
另外 你的webconfig里面的add节点在那个父节点下,只有在configuration节点下,这么写才对,如果在别的节点下,还得改代码。你可以先试试追问提示ExecuteNonQuery: Connection 属性尚未初始化,是什么问题啊。
问题语句 。。。cmd.ExecuteNonQuery();追答SqlCommand和SqlConnection没有关联起来,实例化cmd的时候 用
new SqlCommand(insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)",cn);
这个函数是两个参数的,就可以把cmd和con关联起来了。之前没仔细看你的代码,你的代码相当于没有数据连接吧。追问不好意思。又得麻烦你了。填写数据后出现
详细信息: System.Data.SqlClient.SqlException: 事务在触发器中结束。批处理已中止。
行 107: int ret=cmd.ExecuteNonQuery();//这里错误代码
行 108: cn.Close();
这是什么问题,我想获取是否插入成功,可以这样赋值吗,如果不赋值也是同样的错误追答我刚才在我本地测试了一下上面的代码,没有问题的,你如果觉得代码有问题的话,可以在你本地新建一个table然后测试一下,
你现在的这个错误,我觉得应该和你的数据库有关系,可能是插入数据的table里面有触发器吧,你可以仔细查一下,代码是没有问题了。
SqlCommand cmd=new SqlCommand("insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)");
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();追问未将对象引用设置到对象的实例。
SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString );
这句有错。最后是tostring()也同样,应该怎么改。。
webconfig的链接
追答你的代码写错了,最后多了个ConnectionString,删掉试试看呢。
另外 你的webconfig里面的add节点在那个父节点下,只有在configuration节点下,这么写才对,如果在别的节点下,还得改代码。你可以先试试追问提示ExecuteNonQuery: Connection 属性尚未初始化,是什么问题啊。
问题语句 。。。cmd.ExecuteNonQuery();追答SqlCommand和SqlConnection没有关联起来,实例化cmd的时候 用
new SqlCommand(insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)",cn);
这个函数是两个参数的,就可以把cmd和con关联起来了。之前没仔细看你的代码,你的代码相当于没有数据连接吧。追问不好意思。又得麻烦你了。填写数据后出现
详细信息: System.Data.SqlClient.SqlException: 事务在触发器中结束。批处理已中止。
行 107: int ret=cmd.ExecuteNonQuery();//这里错误代码
行 108: cn.Close();
这是什么问题,我想获取是否插入成功,可以这样赋值吗,如果不赋值也是同样的错误追答我刚才在我本地测试了一下上面的代码,没有问题的,你如果觉得代码有问题的话,可以在你本地新建一个table然后测试一下,
你现在的这个错误,我觉得应该和你的数据库有关系,可能是插入数据的table里面有触发器吧,你可以仔细查一下,代码是没有问题了。
全部回答
- 1楼网友:低血压的长颈鹿
- 2021-04-02 17:38
先用list集合把两条数据存起来,然后用事务去提交,这样就可以实现你要的目的了
- 2楼网友:duile
- 2021-04-02 16:08
用存储过程,写好执行语句,调用追问怎么写
- 3楼网友:风格不统一
- 2021-04-02 15:10
连接字符串写在web.config里的话,可以直接通过字符串的name来调用
在命名空间里添加using System.Configuration;
然后建立连接并打开调用
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["连接名"].ConnectionString);
conn.Open();
SqlCommand cmd1 = new SqlCommand(sql1, conn);
SqlCommand cmd2 = new SqlCommand(sql2, conn);
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
conn.Close();
在命名空间里添加using System.Configuration;
然后建立连接并打开调用
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["连接名"].ConnectionString);
conn.Open();
SqlCommand cmd1 = new SqlCommand(sql1, conn);
SqlCommand cmd2 = new SqlCommand(sql2, conn);
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
conn.Close();
- 4楼网友:举杯邀酒敬孤独
- 2021-04-02 13:53
SqlConnection cn=new SqlConnection("连接字符串");
SqlCommand cmd=new SqlCommand("insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)");
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();追问我这连接是定义在WEBCONFIG里面的,如果不要第一句的话应该怎么写
SqlCommand cmd=new SqlCommand("insert into Apply1 (cname,name) values (1,2);insert into Apply2(cname,name) values (1,2)");
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();追问我这连接是定义在WEBCONFIG里面的,如果不要第一句的话应该怎么写
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯