我在表格中有数据:
CodeID ColOne ColTwo
---------------------------------------
1 DATAONE DATAONE
2 DATATWO-Test DATA-TEST1
这是我的代码:
public static Codes [] Fetch(IDataProxy proxy, string whereClause, params FetchParameter [] parameters)
{
List<Codes> list = new List<Codes>();
using(IDbCommand cmd = proxy.Connection.CreateCommand())
{
cmd.CommandText = "SELECT [CodeID],[ColOne],[ColTwo] FROM [Codes]";
using(IDataReader reader = cmd.ExecuteReader()) {
while(reader.Read()) {
list.Add(new Codes(reader));
}
}
}
return list.ToArray();
}
当我检索第二个结果时,我在第 7 行的"cmd.ExecuteReader()"上收到一条错误消息。错误消息如下:
Unclosed quotation mark after the character string 'DATATWO'. Incorrect syntax near 'DATATWO'.
我做错了什么?
谢谢你的帮助!
编辑:
这是代码:
internal Codes(IDataReader reader)
{
this.CodeID = reader.GetInt32(0);
this.ColOne = reader.GetString(1);
this.ColTwo = reader.GetString(2);
this.DataState = System.Data.DataRowState.Unchanged;
}
我忽略了一些东西,在我的示例中,我没有包含我的"where"子句,选择语句是:where ColOne = 'DATATWO-Test
。我没有在值之后关闭 '。