Navicat for SQL 的查询分析器可以调用,程序MySqlCommand调用失败 这是一个坑吗??? 本帖最后由 xx_mm 于 2014-10-13 17:12:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 @v_ID没有定义,提示很清楚啊 实现思路很简单,上一行执行的Insert SQL语句产生的ID给下面的SQL语句用,之前用Oracle/SQL Server 没显得高踩坑了!! 可能是mysql的分析器帮你处理了这个语句复制到sqlserver里执行也会报同样的错误 INSERT INTO iv_invoicehead(DJBH,SHR,DPJC,ZFJE,FPTT,CKMC,CreateTime) Values('DD00102637','俞继红','21克天猫旗舰店','299.0000','俞继红','正品仓',NOW()); //SET @v_ID = last_insert_id();INSERT INTO iv_invoiceitems(HeadID,SPDM,SPMC,SJDJ,SJJE,BZJE,ZK,SL,BZ,ZL,HJZL)Values( last_insert_id(),'c.f.03.100.01.01','[mc001s] 官方标配 白色标准版','299.0000','299.0000','498.0000','0.6004','1.0000',' 组合商品:c.f.03 mc001s(白色标准版)','450.0000','450.0000');改成这有试试 这不是SQL Server,sql Server语法相对明了,这里在查询分析器可以数据可以插进去,MYSQL 不行,问了几个都说这么写没错!程序却报错?和解!? 这样跟我的逻辑有悖,head插入之后,后面可能不止一行可能多行呢!而且必须在一个事务中 那你写成存储过程吧,存储过程里先定义@v_ID declare @v_ID int; //加上这句呢?我对mysql不太了解SET @v_ID = last_insert_id(); 那只能把第一条insert语句和后面的insert语句分两次执行了,BeginTrans... //事务开始cmd.CommandText = "insert ..."然后获取最后插入的idcmd.CommandText="insert ..."Commit; //提交事务 怎么 用GDI+绘画好的图片保存起来? 如何获取DataGridView中选定的行 怎么样才有钱 datarow 显示不可访问,因为它受保护级别限制,是什么意思 关于查询SQL2005中字段的问题 双击datagridview任一单元格,弹出另外一个窗体,如何修改数据呢? 问个很菜的基础问题. 搜索文档中的文件 用C#程序,如何自动生成十个Button(服务端)控件?? 控件循环赋值或取值 高手进,SocketAsyncEventArgs问题System.InvalidOperationException 请问分布式多点数据库同步问题
这个语句复制到sqlserver里执行也会报同样的错误
Values('DD00102637','俞继红','21克天猫旗舰店','299.0000','俞继红','正品仓',NOW());
//SET @v_ID = last_insert_id();
INSERT INTO iv_invoiceitems(HeadID,SPDM,SPMC,SJDJ,SJJE,BZJE,ZK,SL,BZ,ZL,HJZL)
Values( last_insert_id(),'c.f.03.100.01.01','[mc001s] 官方标配 白色标准版','299.0000','299.0000','498.0000','0.6004','1.0000',' 组合商品:c.f.03 mc001s(白色标准版)','450.0000','450.0000');改成这有试试
SET @v_ID = last_insert_id();
cmd.CommandText = "insert ..."
然后获取最后插入的id
cmd.CommandText="insert ..."Commit; //提交事务