Using System.data.SqlClient;
private void button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\\Users\\Antoni Angga\\documents\\visual studio 2013\\Projects\\FullAndStarving\\FullAndStarving\\FaD.mdf;Integrated Security=True");
{
SqlCommand comm = new SqlCommand("insert into TabelProduksi(IdProduksi,IdPhoto,Tanggal Produksi,Nama Karyawan,Keterangan Photo,Photo) Values(@IdProduksi,@IdPhoto,@Tanggal Produksi,@Nama Karyawan,@Keterangan Photo,@Photo)", con);
con.Parameters.AddWithValue("@IdProduksi",txtIdpro.Text);
con.Parameters.AddWithValue("@IdPhoto",txtIdPhoto.Text);
con.Parameters.AddWithValue("@Tanggal Produksi",dtmProduksi.Value);
con.Parameters.AddWithValue("@Nama Karyawan", txtNamaKaryawan.Text);
con.Parameters.AddWithValue("@Keterangan Photo", rxtKtrphoto.Text);
con.Open();
comm.ExecuteNonQuery();
con.Close();
}
你能帮我找到那个参数吗? 为什么 ? 那个连接字符串现在是真的吗? 因为我使用本地 sql server :D
最佳答案
如果您的列名有多个单词,您需要将它们与方括号一起使用,如 [Tanggal Produksi]
和 [Nama Karyawan]
等。但我会建议一言以蔽之。最好也让您的参数名称保持一个单词。
也可以使用 using
statement自动处理您的连接和命令,而不是手动调用 Close
方法。
尽可能不要使用 AddWithValue
。 It may generate unexpected and surprising results sometimes .使用 Add
方法重载来指定您的参数类型及其大小。
using(var con = new SqlConnection(conString))
using(var comm = con.CreateCommand())
{
com.CommandText = @"insert into TabelProduksi(IdProduksi,IdPhoto,[Tanggal Produksi],[Nama Karyawan],[Keterangan Photo],Photo)
Values(@IdProduksi,@IdPhoto,@TanggalProduksi,@NamaKaryawan,@KeteranganPhoto,@Photo)";
// Add your parameters with Add method.
con.Open();
comm.ExecuteNonQuery();
}
顺便说一句,根据它们的名称,您的 IdProduksi
和 IdPhoto
列应该是某种数字类型而不是字符类型。
关于c# - SQL连接字符串和cant参数visual studio 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506067/