這是我之前詢問的一個問題的擴展。我試圖執行SQL查詢並在DataGridView中顯示結果,但即使我將數據源分配給查詢結果並將AutoGenerateColumns設置爲true,查看器中也不會顯示任何結果。任何想法缺少什麼?數據不顯示在DataGridView中
private void Query()
{
const string ConnectionPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=RetentionDB.mdb";
try
{
using (var cn = new OleDbConnection(ConnectionPath))
using (var cmd = new OleDbCommand("SELECT * FROM RetentionTable WHERE Center = ?", cn))
{
// Parameter names don't matter; OleDb uses positional parameters.
cmd.Parameters.AddWithValue("@p0", getCenter(""));
var objDataSet = new DataSet();
var objDataAdapter = new OleDbDataAdapter(cmd);
objDataAdapter.Fill(objDataSet);
dataOutput.AutoGenerateColumns = true;
dataOutput.DataSource = objDataSet;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
MessageBox.Show(ex.StackTrace.ToString());
}
}
榮譽去理查德認爲可行性幫助我的代碼迄今。
PS我環顧四周,看到的這麼多問題,但他們都不適用(至少我發現)
'SELECT * FROM RetentionTable WHERE Center =?'是什麼意思? –
這只是對SQL查詢的測試。在「使用」部分中,@ p0調用getCenter()函數,該函數返回一個字符串並在問號的第一個實例中注入到SQL中。 – 1337Atreyu