我聲明瞭一個基本上是指示符列表的字符串,其中yy是alpha,xxxx是數字。更改字符串聲明時出現奇數錯誤
string sMyString = "('yy-xxxx','yy-xxxx','yy-xxxx','yy-xxxx','yy-xxxx','yy-xxxx')";
if(File.Exists(sFileLocation + sFileName))
{
txtRunning.Text = "Starting db copy";
File.Copy(sFileLocation + sFileName, sFileName, true);
File.Copy(sDbLocation + "clipper.dbf", "clipper.dbf", true);
File.Copy(sDbLocation + "clipper.dbt", "clipper.dbt", true);
txtRunning.Text = "Starting datatable population";
string connString = @"Provider=VFPOLEDB;Data source=.\clipper.dbf";
string mySelectQuery = "SELECT UPPER(TRIM(field1))," +
" UPPER(TRIM(field2)), UPPER(TRIM(field3)), UPPER(TRIM(field4))" +
" FROM `clipper` WHERE condition1 AND field1 IN " + sMyString +
" ORDER BY field2;";
DataTable dtClipper = new DataTable();
DataTable dtNotFound = new DataTable();
DataTable dTable = new DataTable();
OleDbConnection conn = new OleDbConnection(connString);
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(mySelectQuery, conn);
adapter.Fill(dtClipper);
}
如果我拿出parens,dataadapter.fill命令中出現錯誤,說該函數不存在。如果將其更改爲字符串文字(無論是否包含父元素),我會得到同樣的錯誤。如果我把它保留下來,用parens和單引號,它運行得很好。
我需要它只是列表,沒有單引號,因爲我將它們添加到字典中用作發生次數計數器。我錯過了什麼?
請包括實際產生錯誤的相關代碼行。即,'dataadapter.fill()' – gilly3
@ gilly3 - 增加。如果我離開所有單引號和parens,它就會起作用,只要我將它們中的任何一個引出來,即使將它聲明爲字符串文字,我也會得到該錯誤。 – JohnP
我看不出爲什麼你想要拿出單引號或parens。假設他們不需要的基礎是什麼?看來這兩者似乎完全合適。 – Servy