Asp.net 无法计算表达式,因为在使用作用域标识时,代码已优化或本机框架位于调用堆栈顶部

Asp.net 无法计算表达式,因为在使用作用域标识时,代码已优化或本机框架位于调用堆栈顶部,asp.net,sql,ado.net,Asp.net,Sql,Ado.net,这是我想做的事情 单击按钮时,我从文本框中读取值并将其插入数据库中。 例如,作为游客编号,可能有两到三名游客持有行政许可证;我得到了插入的游客ID public void cmdInsert_OnClick(对象发送方,事件参数e) { if (Page.IsValid) { string numtourist = (string)Session["tourist_number"]; for (int i = 0;

这是我想做的事情

单击按钮时,我从文本框中读取值并将其插入数据库中。 例如,作为游客编号,可能有两到三名游客持有行政许可证;我得到了插入的游客ID

public void cmdInsert_OnClick(对象发送方,事件参数e) {

        if (Page.IsValid)
        {
            string numtourist = (string)Session["tourist_number"];
            for (int i = 0; i < Int32.Parse(numtourist); i++)
            {
                TextBox tx888 = (TextBox)FindControl("txtNameK" + i.ToString());
                TextBox tx888_1 = (TextBox)FindControl("txtMidNameK" + i.ToString());
                TextBox tx888_2 = (TextBox)FindControl("txtLastNameK" + i.ToString());

                string insertSQL = "INSERT INTO Tourist (Excursion_ID, Excursion_date_ID, Name_kir,Midname_kir, Lastname_kir)";
                insertSQL += " VALUES (@Excursion_ID, @Excursion_date_ID, @Name_kir,@Midname_kir, @Lastname_kir) SELECT @@IDENTITY";


                string connectionString = "Data Source = localhost\\SQLExpress;Initial Catalog=excursion;Integrated Security=SSPI";
                SqlConnection con = new SqlConnection(connectionString);
                SqlCommand cmd = new SqlCommand(insertSQL, con);
                cmd.Parameters.AddWithValue("@Excursion_ID", Convert.ToInt32(mynew2));
                cmd.Parameters.AddWithValue("@Excursion_date_ID", Convert.ToInt32(mynewnewstring));
                cmd.Parameters.AddWithValue("@Name_kir", tx888.Text);
                cmd.Parameters.AddWithValue("@MidName_kir", tx888_1.Text);
                cmd.Parameters.AddWithValue("@LastName_kir", tx888_2.Text);

                int added;
                try
                {
                    con.Open();
                    added = (int)cmd.ExecuteScalar();


                    lblproba.Text = "";
                    Tourist.Add(added);
                    lblproba.Text += Tourist.Count();


                }
                catch (Exception ex)
                {
                    lblproba.Text += ex.Message;


                }
                finally
                {
                    con.Close();

                }
            }
            createReservation();
        }
    }
        string insertSQL = "Insert INTO RESERVATIONS (User_ID) values (@User_ID)  SELECT @@IDENTITY";

        string connectionString = "Data Source = localhost\\SQLExpress;Initial Catalog=excursion;Integrated Security=SSPI";
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand(insertSQL, con);
        cmd.Parameters.AddWithValue("@User_ID", 9);


        try
        {
            con.Open();
            string added = cmd.ExecuteScalar().ToString();
            createTouristReservation(added);


        }
        catch (Exception ex)
        {

            lblproba.Text+= ex.Message; 

        }




    }
@@IDENTITY
作用域\u IDENTITY
并在插入和选择之间添加分号

string insertSQL = @"INSERT INTO Tourist (Excursion_ID, Excursion_date_ID, Name_kir,Midname_kir, Lastname_kir)
                     VALUES (@Excursion_ID, @Excursion_date_ID, @Name_kir,@Midname_kir, @Lastname_kir) 
                    ;SELECT CAST(scope_identity() AS int)";