private void button_Pass_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection("Data Source=JAYI-PC\\SQLEXPRESS;Initial Catalog=db-ub;Integrated Security=True");
con1.Open();
SqlCommand cmd1 = new SqlCommand("Insert into Visitors(Id,Visitor_Name,Organisation_Name,Phone_No,No_Person,To_whom,Purpose,Color_Code,Day_In,Time_In,Image) values (@id,@vname,@org,@phn,@nop,@whom,@prps,@ccd,@dI,@tI,@img)");
cmd1.Parameters.AddWithValue("@id", textBox_Id.Text);
cmd1.Parameters.AddWithValue("@vname", textBox_NameV.Text);
cmd1.Parameters.AddWithValue("@org", textBox_Org.Text);
cmd1.Parameters.AddWithValue("@phn", textBox_Phn.Text);
cmd1.Parameters.AddWithValue("@nop", numericUpDown_Person.Value.ToString());
cmd1.Parameters.AddWithValue("@whom", comboBox_TOWHOM.SelectedItem.ToString());
string prps;
if(radioButton_OFFICIAL.Checked)
{
prps = "Official";
cmd1.Parameters.AddWithValue("@prps", prps);
} else if(radioButton_PERSONAL.Checked)
{
prps = "Personal";
cmd1.Parameters.AddWithValue("@prps", prps);
}
cmd1.Parameters.AddWithValue("@ccd", comboBox_color.SelectedItem.ToString());
cmd1.Parameters.AddWithValue("@dI", textBox_Dayin.Text);
cmd1.Parameters.AddWithValue("@tI", textBox_timeR.Text);
Image img = pictureBox_UB.Image;
byte[] arr;
ImageConverter converter = new ImageConverter();
arr = (byte[]) converter.ConvertTo(img, typeof (byte[]));
cmd1.Parameters.AddWithValue("@img", img);
MessageBox.Show("Record has been inserted");
con1.Close();
}
我在SQL Server数据库中有一个包含列
的表Id, Visitor_Name, Organisation_Name, Phone_No,
No_Person, To_whom, Purpose, Color_Code,
Day_In, Time_In, Day_Out, Time_Out, Image
现在我想将(Id, Visitor_Name, Organisation_Name, Phone_No, No_Person, To_whom, Purpose, Color_Code, Day_In, Time_In, Image
)的值插入数据库。
我在上面显示的C#中编写了这段代码,但它工作正常,但没有将任何数据存储到SQL Server数据库。请帮忙。
答案 0 :(得分:3)
这里有两个问题:
您没有在命令中添加连接,请使用command string and a connection初始化的构造函数,如:
new SqlCommand("Insert into Visitors(Id,Visitor_Name,Organisation_Name,Phone_No,No_Person,To_whom,Purpose,Color_Code,Day_In,Time_In,Image) values (@id, @vname, @org, @phn, @nop, @whom, @prps, @ccd, @dI, @tI, @img)", con1);
您没有执行命令!添加:
cmd1.ExecuteNonQuery()
之前MessageBox.Show
答案 1 :(得分:2)
我认为你应该在MessageBox.Show之前添加cmd1.ExecuteNonQuery()(“已插入记录”);
因为你还没有执行过sqlcommand。