📄 subject_35493.htm
字号:
<p>
序号:35493 发表者:peppon 发表日期:2003-04-07 12:57:37
<br>主题:C#访问SqlServer,插入纪录后如何取得自增的ID.
<br>内容:C#访问SqlServer,插入纪录后如何取得刚插入的记录的自增ID.<BR>谁能告诉我这个简单问题。先谢谢了。<BR><BR>我先用Insert into ... ; select @@identity; 取ID ,不知道如何得到返回的结果。<BR><BR>我的代码如下:<BR>string Sql = "insert into ....... select @@indentity";<BR>SqlConnection sqlConnection = new SqlConnection(this.ConnectString);<BR>SqlCommand myCommand = new SqlCommand(Sql , sqlConnection);<BR>myCommand.Connection.Open();<BR>SqlDataReader dr = myCommand.ExecuteReader();<BR>int retv = 0;<BR>if( dr.Read() )<BR>retv = dr.GetInt32( 0 );<BR>myCommand.Connection.Close();<BR><BR>return retv;<BR><BR>提示错误: retv = dr.GetInt32( 0 ) 这句:System.InvalidCastException: 指定的转换无效。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:cat 回复日期:2003-04-07 13:28:31
<br>内容:需要用sqlParameter来得到
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:peppon 回复日期:2003-04-07 14:08:42
<br>内容:sqlParameter怎么用啊?有代码吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:落叶夏日 回复日期:2003-04-07 18:37:59
<br>内容:存储过程如下: <BR>CREATE PROCEDURE spCreateNewOrder <BR>( <BR> @Order_UserID char(2), <BR> @Order_From char (2) <BR>) <BR>AS <BR>INSERT INTO YHDD_HEAD <BR>( <BR> Order_UserID, <BR> Order_From, <BR> Order_date <BR>) <BR>VALUES <BR>( <BR> @Order_UserID, <BR> @Order_From, <BR> GETDATE() <BR>) <BR>SELECT @@IDENTITY <BR>GO <BR>我要在程序中得到@@IDENTITY 怎样处理, @@IDENTITY 返回的是关键字 ID <BR>程序如下,怎样修改: <BR>private void Button1_Click(object sender, System.EventArgs e) <BR> { <BR> SqlCommand com = new <BR><BR>SqlCommand("spCreateNewOrder",sqlConnection1); <BR> com.CommandType =CommandType.StoredProcedure; <BR> com.Parameters.Add(new <BR><BR>SqlParameter("@Order_UserID",SqlDbType.Char,2,"Order_UserID")); <BR> com.Parameters["@Order_UserID"].Value ="03"; <BR> com.Parameters.Add(new <BR><BR>SqlParameter("@Order_From",SqlDbType.Char,2,"Order_From")); <BR> com.Parameters["@Order_From"].Value ="02"; <BR> sqlConnection1.Open(); <BR> Object o=com.ExecuteScalar(); <BR> sqlConnection1.Close(); <BR> <BR> <BR> } <BR><BR><BR><BR>Object o就是你要的,只要转一下就可以了 <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:peppon 回复日期:2003-04-23 08:34:27
<br>内容:多谢,我不用存储过程也已经搞定了。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:david (小鱼儿) 回复日期:2003-04-23 18:24:44
<br>内容:是没必要一定用存储过程呀<BR>SELECT @@IDENTITY 放在插入语句后面即可!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -