Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在VisualStudio2005中使用scope_标识?_Asp.net_Sql Server_Scope Identity - Fatal编程技术网

Asp.net 如何在VisualStudio2005中使用scope_标识?

Asp.net 如何在VisualStudio2005中使用scope_标识?,asp.net,sql-server,scope-identity,Asp.net,Sql Server,Scope Identity,在何处放置SELECT SCOPE\u IDENTITY()语句如果我想获取最后一个插入的标识,我将它放在其他insert-in查询中,但什么也得不到 SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString); connection.Open(); string insACmd = "insert int

在何处放置
SELECT SCOPE\u IDENTITY()
语句如果我想获取最后一个插入的标识,我将它放在其他insert-in查询中,但什么也得不到

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);

connection.Open();

string insACmd = "insert into admin (userName, password) values (@userName, @password) SELECT SCOPE_IDENTITY();";
SqlCommand insertAdmin = new SqlCommand(insACmd, connection);

insertAdmin.Parameters.AddWithValue("@userName", TextBox1.Text);
insertAdmin.Parameters.AddWithValue("@password", TextBox2.Text);

string insertedID = insertAdmin.ExecuteScalar().ToString();

connection.Close(); 
谢谢。

试试这个`

选择UserId=SCOPE\u IDENTITY()


也就是说,如果您使用UserId作为键,我不知道您在做什么,但在我的情况下,这很好。你有错误吗?如果是:什么错误?您在
insertedID
-
NULL
中得到了什么返回值?空字符串?还有什么?我在try块和catch中插入了代码,我有一条错误消息,所以当我运行我的网站时,我也收到了错误消息,我注意到没有任何东西插入到我的数据库中,那条错误消息是什么??我看不到你的屏幕-你需要告诉我们错误是什么!!insert语句后面不需要分号吗?看起来insert和select在同一行上,没有语句终止符Charleh我试图用分号,但问题仍然存在..您是想用它代替当前的select scope\u identity语句还是作为另一个查询?请尝试替换当前的select scope,并指定要用此onethanks检索的IDKanavi,我想你是在用VB,我实际上是在用C#你能告诉我如何写这个句子DECLARE@ID INT OUTPUT;在C中设置@ID=SCOPE_IDENTITY(),因为我对asp.net和VB都是新手
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString))
{
    connection.Open();
    string insACmd = "insert into admin (userName, password) values (@userName, @password); DECLARE @ID INT OUTPUT; SET @ID=SCOPE_IDENTITY()";
    using (SqlCommand insertAdmin = new SqlCommand(insACmd, connection))
    {
        insertAdmin.Parameters.AddWithValue("@userName", TextBox1.Text);
        insertAdmin.Parameters.AddWithValue("@password", TextBox2.Text);

        SqlParameter p = new SqlParameter();
        p.ParameterName = "@ID";
        p.Size = 4;
        p.Direction = ParameterDirection.Output;
        insertAdmin.Parameters.Add(p);
        insertAdmin.ExecuteNonQuery();
        int idOut = (int)p.Value;
        connection.Close();
    }
}