我有一個名爲Table1
的Access表,它有一個名爲FieldA
的字段。 FieldA
有一個數據類型的文本。爲什麼這個查詢不返回結果?
FieldA
確實包含價值010005.
當我運行查詢,沒有找到匹配。如果我在Access中運行查詢,它會找到值。
OleDbConnection conn = null;
OleDbDataReader reader = null;
conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\\\server\\folder\\mydatabase.accdb");
conn.Open();
OleDbCommand cmd = new OleDbCommand("Select * FROM Table1 WHERE FieldA = @p1", conn);
cmd.Parameters.Add("@p1", OleDbType.VarChar);
cmd.Parameters["@p1"].Value = "010005";
reader = cmd.ExecuteReader();
dataGridView1.DataSource = reader;
缺少什麼我在這裏?
謝謝!
編輯:這個工作,而這也正是我最終使用:
OleDbConnection conn = null;
conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\\\server\\folder\\mydatabase.accdb");
conn.Open();
string theValue = "010005";
string sql = string.Format("SELECT * FROM Table 1 where FieldA = '{0}'", theValue);
OleDbDataAdapter ada = new OleDbDataAdapter(sql, conn);
ada.Fill(dataTable1);
dataGridView1.DataSource = dataTable1;
是它的@ P1單引號? – 2013-02-28 21:08:21