[英]C#, MAS-90, Attempted to read or write protected memory error on OdbcDataAdapter.Fill(dataTable)
[英]Error from OdbcDataAdapter.Fill
執行OdbcDataAdapter.Fill(DataTable)時,有時會出現兩種不同的錯誤。 這是代碼示例:
string odbc = "select item, upcno from table";
OdbcCommand cmd = new OdbcCommand(odbc, fconn);
OdbcDataAdapter oda = new OdbcDataAdapter(cmd);
oda.Fill(dt);
System.NullReferenceException:對象引用未設置為對象的實例。
System.InvalidOperationException:行/列的數據不存在。
有人有解決此問題的線索嗎?
不確定從問題中獲得連接對象的位置,但是可以執行以下操作。 不要創建類級別的連接,可以在需要時創建它,並在最后適當地處置它。
public DataTable GetDataTableFromAdapter(string queryString)
{
DataTable dt = new DataTable();
using (OdbcConnection connection =
new OdbcConnection(ConnectionString))
{
using (OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection))
{
connection.Open();
adapter.Fill(dt);
}
}
return dt;
}
稱其為
DataTable dt = GetDataTableFromAdapter("select [item], [upcno] from [table]");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.