我有一个简单的测试 Windows 窗体应用程序。我第一次在 VS 中运行它一切正常。如果我立即再次运行它,它会在 adapter.fill(ds); 处引发关于读取受保护内存的异常;线。如果我等待 5 分钟左右,应用程序会再次运行。我想从 stackoverflow 社区获得一些关于我被愚弄的建议。我猜这是一些连接超时。代码如下:
C#
public void Button1_Click(object sender, EventArgs e)
{
string connectionString = @"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=x:\CMSBak\ISP;";
var conn = new OdbcConnection(connectionString);
conn.Open(); // Open the connection
string strQuery = "SELECT * FROM ISPINMAS";
var adapter = new OdbcDataAdapter(strQuery, conn);
var ds = new DataSet();
try
{
adapter.Fill(ds);
}
catch (Exception)
{
conn.Close();
throw;
}
DataTable dt = ds.Tables[0];
dataGridView1.DataSource = dt.DefaultView;
conn.Close(); // That's it, now close the connection
}