上面的SQL语句有什么错误,我执行时,数据库没变化,应该是SQL语句有语法错误。

string[]SQL=newstring[n*n1*n2];//运用循环语句录入空课室for(i=n-1;i>=0;i--){for(j=n1-1;j>=0;j--){... string[] SQL = new string[n * n1 * n2];
//运用循环语句录入空课室
for (i = n - 1; i >= 0; i--)
{
for (j = n1 - 1; j >= 0; j--)
{
for (k = n2 - 1; k >= 0; k--)
{
//调用存储过程KongKeShi_GuanLiYuan1_FRMKongKeShiLuRu,并执行LuRuKongKeShi,传递参数
SQL[i] = "exec KongKeShi_GuanLiYuan1_FRMKongKeShiLuRu ,@type='LuRuLinShiKongKeShi',@JiaoXueLouID, @KeShiMingCheng,@ZuoWeiShu,@KeShiLeiXingID,@KongXianZhouCi,@XingQi,@KongXianJieCi"
+ JiaoXueLouID.ToString() + "," + KeShiMingCheng + "," + ZuoWeiShu + ","+
KeShiLeiXingID.ToString() + "," + KongXianZhouCi[i].ToString() + ","
+ XingQi[j].ToString() + "," + KongXianJieCi[k];

}

//调用tran事务,并传达参数SQL
myMethods.tran(SQL);
}

}
SQL[i] = "exec KongKeShi_GuanLiYuan1_FRMKongKeShiLuRu @type='LuRuLinShiKongKeShi'"
+",@JiaoXueLouID="+ JiaoXueLouID.ToString()
+ ",@KeShiMingCheng='" + KeShiMingCheng +"'"
+ ",@ZuoWeiShu='" + ZuoWeiShu +"'"
+",@KeShiLeiXingID=" + KeShiLeiXingID.ToString()
+ " ,@KongXianZhouCi=" + KongXianZhouCi[i].ToString()
+ ",@XingQi="+ XingQi[j].ToString()
+ ",@KongXianJieCi='" + KongXianJieCi[k]+"'";
改成这样子后,就可以插入数据了,但是只是执行第一层循环,当第二层和第三层循环的循环次数大于一时,就不能插入数据了。
System.out不知道怎么用,学了C#和SQL快一年了,没听过,可不可以举过小例子啊。
展开
 我来答
死后是好人
2011-08-26 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:985万
展开全部
楼上说的没错,System.out就都看出来了
1、根据经验你这个应该是有某一项为空了,于是sql中出现了“,,”这样的情况,两个逗号中间是空的,这样的sql语句,数据库肯定执行不了
2、如果这个没问题,那就是你单独的某一项的语句写的不对,最后添加的时候成了害群之马
3、要特别注意"'" ,"','"的使用,和你最后一个KongXianJieCi[k]的语法格式
追问
我把语句改正后,可以执行了,但是,只限制于插入一条数据,如果运用循环插于超过一条的数据时,就执行不了。
追答
SQL[i] = "exec KongKeShi_GuanLiYuan1_FRMKongKeShiLuRu 
如上,你在这里SQL[i]下标用的是i
但是你这里定义用的是string[] SQL = new string[n * n1 * n2];
你用三重循环是想放满SQL吧
但是你用SQL[i]来循环赋值,相当于你这个三重循环只有i次赋值,后面的赋值会不断地覆盖之前的赋值
还有这个地方,这句问什么要放到第2重循环里面呢?

//调用tran事务,并传达参数SQL
myMethods.tran(SQL);

相当于你n3的那重循环,只取了最后一组数,前n3-2组赋值都白做了,而且在i=n-1未改变的情况,你的tran(SQL)传了n遍不完全的数组SQL,SQL中只有SQL[n-1]里有数据,而且还传了可能是n遍不同的,也有可能其中的某一遍是相同的。。。那么如果进行的操作是插入数据,并且数据库有主键,第二遍肯定是要插入失败的啊

先改这两个地方吧,改完还不行再说,插入多条数据不能的情况多时因为主键冲突

System.out是java的方法,c++用cout<<
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
ssanitxu
2011-08-22 · TA获得超过325个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:188万
展开全部
把你的SQL里面的SQL语句System.out出来然后到数据里面执行一下不就什么都明白了么!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式