我收到以下错误:
“System.Data.SqlClient.SqlException”类型的第一次机会异常 System.Data.dll中发生的其他信息:语法不正确 靠近')'。如果存在此异常的处理程序,则程序可能是 安全地继续。“
这是语法吗?我真的无法弄清楚这一点,任何人都能说出我做错了吗?
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("A Atualizar dados...");
bool check = true;
do
{
string connectionString = @"Data Source=.\wintouch;Initial Catalog=bbl;User ID=sa;Password=Pa$$w0rd";
string queryString = string.Empty;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
queryString = "UPDATE wgcdoccab SET merc1 = merc1/2 WHERE numdoc = (SELECT MAX(numdoc) FROM WGCDOCCAB WHERE serie ='1' and tipodoc ='FSS' and contribuinte ='999999990' and datadoc = CONVERT(varchar(10),(dateadd(dd, -1, getdate())), 120))";
SqlCommand command = new SqlCommand(queryString, connection);
command.ExecuteNonQuery();
connection.Close();
}
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
queryString = "SELECT max(numdoc) FROM wgcdoccab WHERE serie ='1' and tipodoc ='FSS' and contribuinte ='999999990' and datadoc = CONVERT(varchar(10),(dateadd(dd, -1, getdate())), 120))";
using (SqlCommand command = new SqlCommand(queryString, connection))
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
check = true;
}
else
{
check = false;
MessageBox.Show("Dados atualizados com sucesso");
}
command.Connection.Close();
}
}
}
while (check);
答案 0 :(得分:1)
检查您的SQL语句。这一行有太多括号:
queryString = "SELECT max(numdoc) FROM wgcdoccab WHERE serie ='1' and tipodoc ='FSS' and contribuinte ='999999990' and datadoc = CONVERT(varchar(10),(dateadd(dd, -1, getdate())), 120))";