查询字符串SQL

时间:2015-07-23 19:28:13

标签: c# mysql

我收到以下错误:

  

“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);

1 个答案:

答案 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))";