问题描述
[WebMethod]publicstringInsertData(stringnewidtitlecontentid){try{stringresult="";stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"')";stringsql1="insertintot2(idcontent)values('"+id+"','"+content+"')";//sql1的ID等于sql的newid有没什么办法?MySqlConnectionDefSqlCon=newMySqlConnection("server=192.168.0.1;userid=net;password=123;database=test");DefSqlCon.Open();MySqlTransactiontran=DefSqlCon.BeginTransaction();MySqlCommandsqlcmd=newMySqlCommand(sql,DefSqlCon);sqlcmd.Transaction=tran;sqlcmd.Connection=DefSqlCon;sqlcmd.ExecuteNonQuery();MySqlCommandsqlcmd1=newMySqlCommand(sql1,DefSqlCon);sqlcmd1.Transaction=tran;sqlcmd1.Connection=DefSqlCon;sqlcmd1.ExecuteNonQuery();tran.Commit();result="1";returnresult;}catch(Exceptionerr){returnerr.ToString();}finally{}
解决方案
解决方案二:
以上是程序是完全可以的现在想问:sql1的ID等于sql的newid(也就是当插入newid为222的时候,同时插ID为222newid=id有没有什么办法?stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"')";stringsql1="insertintot2(idcontent)values('"+id+"','"+content+"')";
解决方案三:
stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"');selectSCOPE_IDENTITY()";stringmynewid=cmd.ExecuteScalar().ToString();//你要的id了!!
解决方案四:
引用2楼koukoujiayi的回复:
stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"');selectSCOPE_IDENTITY()";stringmynewid=cmd.ExecuteScalar().ToString();//你要的id了!!
没看明白啊,老大
解决方案五:
你的ID是自增长的ID,还是什么ID?select@@IDENTITY获得自增长的最后ID值try{stringresult="";stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"')";MySqlConnectionDefSqlCon=newMySqlConnection("server=192.168.0.1;userid=net;password=123;database=test");DefSqlCon.Open();MySqlTransactiontran=DefSqlCon.BeginTransaction();MySqlCommandsqlcmd=newMySqlCommand(sql,DefSqlCon);sqlcmd.Transaction=tran;sqlcmd.Connection=DefSqlCon;sqlcmd.ExecuteNonQuery();intnewidvalue=(int)sqlcmd.ExecuteScalar();//获取自增长的ID值stringsql1="insertintot2(idcontent)values('"+newidvalue+"','"+content+"')";MySqlCommandsqlcmd1=newMySqlCommand(sql1,DefSqlCon);sqlcmd1.Transaction=tran;sqlcmd1.Connection=DefSqlCon;sqlcmd1.ExecuteNonQuery();tran.Commit();result="1";returnresult;
解决方案六:
漏了一句stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"');selectSCOPE_IDENTITY()";cmd.CommandText=sqlcmd.ExecuteNonQuery()stringmynewid=cmd.ExecuteScalar().ToString();//你要的id了!!
解决方案七:
引用4楼Fibona的回复:
你的ID是自增长的ID,还是什么ID?select@@IDENTITY获得自增长的最后ID值try{stringresult="";stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"')";MySqlConnectionDefSqlCon=newMySqlConnection("server=192.168.0.1;userid=net;password=123;database=test");DefSqlCo…
正解
解决方案八:
不是自增长的啊,newid不是自动增长的stringmynewid=cmd.ExecuteScalar().ToString();//你要的id了!!取不到
解决方案九:
哦不是自增长的,没看清抱歉,一般都是自增长问题!!不太清楚楼主的问题,既然不是自增长,那我觉得很好办,可能没明白楼主的意思!!楼主的代码:sql1的ID等于sql的newid(也就是当插入newid为222的时候,同时插ID为222newid=id有没有什么办法?stringsql="insertintot1(newidtitle)values('"+newid+"','"+title+"')";stringsql1="insertintot2(idcontent)values('"+id+"','"+content+"')";===============================================================================把newid=id不就可以了吗?可能没明白楼主的意思!!
解决方案十:
把newid=id不就可以了吗?可能没明白楼主的意思!!???
解决方案十一:
支持下