Click here to Skip to main content
15,888,461 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
i want to insert data into database. but if there are no records and i click on the button.so no data should be inserted. please check my codes

What I have tried:

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=MYDB;Integrated Security=True");
           con.Open();
           SqlCommand cmd;
           string query = "insert into Employee(ID,Name, Age, Department, Salary, DateOFBirth) values(@ID,@Name, @Age, @Department, @Salary, @DateOFBirth)";

              cmd = new SqlCommand(query,con);
           if (cmd.CommandText == "")
           {
               cmd.Parameters.AddWithValue("@ID",null);
               cmd.Parameters.AddWithValue("@Name",null);
               cmd.Parameters.AddWithValue("@Age",null);
               cmd.Parameters.AddWithValue("@Department",null);
               cmd.Parameters.AddWithValue("@Salary",null);
               cmd.Parameters.AddWithValue("@DateOFBirth",null);

           }
           else
           {
               cmd.Parameters.AddWithValue("@ID", textBox1.Text);
               cmd.Parameters.AddWithValue("@Name", textBox2.Text);
               cmd.Parameters.AddWithValue("@Age", textBox3.Text);
               cmd.Parameters.AddWithValue("@Department", textBox4.Text);
               cmd.Parameters.AddWithValue("@Salary", textBox5.Text);
               cmd.Parameters.AddWithValue("@DateOFBirth", textBox6.Text);

           }


           cmd.ExecuteNonQuery();
           con.Close();
Posted
Updated 1-May-17 0:43am
Comments
ZurdoDev 1-May-17 7:02am    
1. I do not understand what your question is.
2. You If statement means nothing. You just created the cmd object and then check if CommandText is blank. Of course it is blank, you just created it. So, it will always be sending null. The proper way to send null is DBNull.Value, not null.
[no name] 1-May-17 7:05am    
It should be obvious what you problem is. The command text would never be an empty string. You need to learn how to use the debugger.

1 solution

Did you try to replace null with
DBNull.Value
?
 
Share this answer
 
Comments
faizy001 1-May-17 6:56am    
YES I DID BUT
string query = "insert into Employee(ID,Name, Age, Department, Salary, DateOFBirth) values(@ID,@Name, @Age, @Department, @Salary, @DateOFBirth)";

cmd = new SqlCommand(query,con);
if (cmd.CommandText==null)
{
cmd.Parameters.AddWithValue("@ID",Convert.ToInt32(DBNull.Value));
cmd.Parameters.AddWithValue("@Name",DBNull.Value);
cmd.Parameters.AddWithValue("@Age",DBNull.Value);
cmd.Parameters.AddWithValue("@Department",DBNull.Value);
cmd.Parameters.AddWithValue("@Salary",DBNull.Value);
cmd.Parameters.AddWithValue("@DateOFBirth",DBNull.Value);

}
else
{
cmd.Parameters.AddWithValue("@ID", textBox1.Text);
cmd.Parameters.AddWithValue("@Name", textBox2.Text);
cmd.Parameters.AddWithValue("@Age", textBox3.Text);
cmd.Parameters.AddWithValue("@Department", textBox4.Text);
cmd.Parameters.AddWithValue("@Salary", textBox5.Text);
cmd.Parameters.AddWithValue("@DateOFBirth", textBox6.Text);

}


cmd.ExecuteNonQuery();
con.Close();
BUT PROBLEM ARE STRILL SAME

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900