在SQL选择查询中'='错误附近的语言不对称语法
错误文本:Incorrect syntax near '='.
在SQL选择查询中'='错误附近的语言不对称语法
我的代码中的错误是什么? 如何选择正确 此代码来确定这是否找到或没有
其所有我的代码PLZ检查它
它来检查我的价值和更新一些它 或插入
ssssssssssssssssssssssssssssssssssssssssssssssssssssssss
//Test For Insert Duplicate Row
int tst = 0;
SqlCommand cmd = new SqlCommand("Select Count(*) From Product Where [email protected] And ProdName= @NameVar And [email protected]",conn);
cmd.Parameters.Add("@CodeVar", SqlDbType.Int).Value = Convert.ToDouble(dataGridView1.Rows[x].Cells[1].Value);
cmd.Parameters.Add("@NameVar", SqlDbType.NVarChar).Value = dataGridView1.Rows[x].Cells[2].Value;
cmd.Parameters.Add("@PriceVar", SqlDbType.Money).Value = Convert.ToDouble(dataGridView1.Rows[x].Cells[4].Value);
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataReader reader= cmd.ExecuteReader();
if(reader.Read())
{
if (Convert.ToInt16(reader[0]) > 0)
{
tst = 1;
}
}
reader.Close();
conn.Close();
// Test For Same Row But Anthor Code
cmd.CommandText = "Select Count(*) From Product Where [email protected] And [email protected] And Not ProdCode = @Pcode And ProdCode BETWEEN @SCode And @SCode+2000";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@PName",SqlDbType.NVarChar).Value = dataGridView1.Rows[x].Cells[2].Value ;
cmd.Parameters.Add("@BPrice", SqlDbType.Money).Value = Convert.ToDouble(dataGridView1.Rows[x].Cells[5].Value);
cmd.Parameters.Add("@Pcode",SqlDbType.Int).Value = Convert.ToInt32(dataGridView1.Rows[x].Cells[1].Value);
cmd.Parameters.Add("@SCode", SqlDbType.Decimal).Value = Convert.ToDecimal(label10.Text);
cmd.CommandType = CommandType.Text;
conn.Open();
reader = cmd.ExecuteReader();
if(reader.Read())
{
if(Convert.ToInt16(reader[0])>0)
{
tst = 2;
}
}
reader.Close();
conn.Close();
cmd.CommandText = "Select Count(*) From Product Where ProdCode = @CodeVar1 ";
cmd.Parameters.Add("@CodeVar1", SqlDbType.Int).Value = Convert.ToInt32(dataGridView1.Rows[x].Cells[1].Value);
cmd.CommandType = CommandType.Text;
conn.Open();
reader= cmd.ExecuteReader();
if (reader.Read())
{
if (Convert.ToInt16(reader[0]) > 0 && tst == 0)
{
MessageBox.Show("الأكواد باللون الأحمر خاصة احد الأصناف ..!");
dataGridView1.Rows[x].Cells[1].Style = redcell;
return;
}
}
reader.Close();
conn.Close();
你应该尝试ProdCode != @Pcode
或更换ProdCode Not = @Pcode
0或Not ProdCode = @Pcode
。
所有应在TSQL中有效。
变化
and ProdCode Not = @Pcode
到
and not ProdCode = @Pcode
它确定但这个错误显示后编辑正如你所说在阅读器关闭时尝试调用Read。 – 2013-02-21 11:23:03
那是一个完全不同的故事。 – 2013-02-21 11:25:35
在调用'cmd'构造函数之前尝试执行'con.Open()'**。 – 2013-02-21 11:29:34
您需要ProdCode <> @Pcode
更换您的SQL命令的
ProdCode Not = @Pcode
或者只是坚持了不在状态的面前! – 2013-02-21 11:15:40@JonEgerton - 增加了这种可能性以及我的答案。谢谢。 – 2013-02-21 11:16:54
@ØyvindKnobloch-Bråthen它的确定但是,这个错误显示编辑后如你所说 无效的尝试调用阅读器关闭时读取。 – 2013-02-21 11:22:14