查询不存储我的注册表单数据asp.net

问题描述 投票:0回答:2

我实际上是新的asp.net c#我想知道为什么这个代码不起作用。我想要做的就是将数据表存储到SQL Server数据库中。

我有2个表,我希望输入的数据表存储在数据库中。查看select语句以检索主键,以将其作为外键存储在另一个表中

String q = "Insert into dbo.requests(request_date,request_type,visit_date,reason,user_id,status_id)values('" + DateTime.Now.ToString() + "','" + DropDownList1.SelectedValue.ToString() + "','" + TextBox8.Text.ToString() + "','" + TextBox9.Text.ToString() + "','"+ 1+"','"+ 2+"')";

SqlCommand cmd = new SqlCommand(q, con);
cmd.ExecuteNonQuery();

con.Close();

con2.Open();

if (con2.State == System.Data.ConnectionState.Open)
{
    String a = "select top 1 request_id from dbo.requests where request_date= CAST(GETDATE() AS DATE and user_id=999 order by request_id DESC ";

    SqlCommand cmd2 = new SqlCommand(a, con2);

    int r = cmd2.ExecuteNonQuery();
}

con2.Close();

con3.Open();

if (con3.State == System.Data.ConnectionState.Open)
{
    String b = "INSERT into dbo.visitor(visitor_Fname,visitor_Mname,visitor_family_name,visitor_id,visitor_mobile,request_id,place_of_work,country_name) values ('" + TextBox1.Text.ToString() + "','" + TextBox2.Text.ToString() + "','" + TextBox3.Text.ToString() + "','" + TextBox4.Text.ToString() + "' , '" + TextBox5.Text.ToString() + "','r', '" + TextBox6.Text.ToString() + "', '" + TextBox7.Text.ToString() + "'  )";

    SqlCommand cmd3 = new SqlCommand(b, con3);

    cmd3.ExecuteNonQuery();
}
c# asp.net sql-server
2个回答
0
投票

你应该改变它

int r = cmd2.ExecuteNonQuery();

int r = (int)cmd2.ExecuteScalar();

要检索只选择一个字段,请使用ExecuteScalar而不是ExecuteNonQueryExecuteNonQuery不返回选择字段。


0
投票

只需使用数据表将request_id存储在变量中。实际上你在表中存储'r'是错误的。尝试从变量中的select语句存储request_id,它将起作用。

© www.soinside.com 2019 - 2024. All rights reserved.