Query doesn't store my registration form data asp.net

时间:2017-12-17 08:15:36

标签: c# asp.net sql-server

I actually new in asp.net c# I want to know why this code below doesn't work. All I want to do is store data form into a SQL Server database.

I have 2 tables and I want the data form entered stored in the database. Look at the select statement for retrieving the primary key to store it as a foreign key in the other table

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();
}

2 个答案:

答案 0 :(得分:0)

You should change it

int r = cmd2.ExecuteNonQuery();

to

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

To retrieve selecting only one field use ExecuteScalar instead of ExecuteNonQuery. ExecuteNonQuery doesn't return selecting fields.

答案 1 :(得分:0)

Just store request_id in variable using data table. Actually you are storing 'r' in table which is wrong. Try to store request_id from select statement in variable it will be work .