[英]Execute SQL Query in csv file using odbc
我的連接字符串
<add connectionString="Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=E:; Extensions=asc,csv,tab,txt;"
name="TestConnectionString"/>
我的C#代碼:
protected void ExecuteButton_Click(object sender, EventArgs e)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString;
using (OdbcConnection con = new OdbcConnection(connectionString))
{
con.Open();
string sql = "SELECT date_id FROM date_conversion.csv WHERE [date_in_ad] = '4/13/1944'";
using (OdbcCommand command = new OdbcCommand(sql, con))
{
ResultTextBox.Text = Convert.ToString(command.ExecuteScalar());
}
}
}
我的CSV文件:
date_id date_in_ad ad_month_id ad_date_id ad_year_id
1 4/13/1944 4 13 1944
2 4/14/1944 4 14 1944
3 4/15/1944 4 15 1944
4 4/16/1944 4 16 1944
5 4/17/1944 4 17 1944
我收到以下錯誤: System.Data.Odbc.OdbcException:錯誤[22018] [Microsoft] [ODBC文本驅動程序]條件表達式中的數據類型不匹配。
因此,讓我們將問題重命名為“我遇到了SQL異常,請幫忙”
它與csv無關。 在您的代碼中只有一行是相關的:
string sql = "SELECT date_id FROM date_conversion.csv WHERE [date_in_ad] = '4/13/1944'";
讓我們再次看一下錯誤:
條件表達式中的數據類型不匹配
這只是一個條件-[date_in_ad]和日期文字。
http://msdn.microsoft.com/en-us/library/ms710282(v=vs.85).aspx
有很好的示例,日期應如何查找ODBC。
http://technet.microsoft.com/en-us/library/ms190234(v=sql.90).aspx
有更多的解釋。 不,它們絕對看起來不像您的字符串。
日期常量如下所示:
{ d '1990-10-02' }
為了使事情變得容易-使用參數。 請。
檢查MS KB
試試這個查詢
string sql = "SELECT date_id FROM date_conversion.csv WHERE [date_in_ad] = #4/13/1944#";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.