C#SQL选择日期问题

0 c# sql

我是c#的新手我在这个查询中遇到SQL和DATE问题我有错误...

错误[22018] [Microsoft] [ODBC dBase驱动程序]条件表达式中的数据类型不匹配.

    private void button2_Click(object sender, EventArgs e)
        {
            char split = '.';
            string[] s = dateTimePicker1.Text.Split(split);
            string sx = s[0] + "." + s[1] + ".";


            System.Data.Odbc.OdbcConnection oConn = new System.Data.Odbc.OdbcConnection();
            oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;
SourceDB=C:\sales\;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
            oConn.Open();
            System.Data.Odbc.OdbcCommand oCmd = oConn.CreateCommand();
            oCmd.CommandText = @"SELECT COD,PRICE,SMAN_COD FROM C:\sales\sl.DBF WHERE DATE='"+dateTimePicker1.Text+"'";
            DataTable dt = new DataTable();
            dt.Load(oCmd.ExecuteReader());
            oConn.Close();

            dataGridView1.DataSource = dt;

        }
Run Code Online (Sandbox Code Playgroud)

请帮我

Jon*_*eet 7

根本不要在SQL中发送日期/时间值.使用参数化查询 - 这样您就不需要关心格式了.为什么会在没有解析和格式化数据的情况下传递数据时让事情变得复杂并让自己对微妙的问题开放?

此外,如果您养成了为所有值使用参数的习惯,那么您将避免SQL注入攻击.

在这种情况下,您将使用DateTimePicker.Value而不是DateTimePicker.Text,以获取值作为DateTime.