int sessid;
DataSet myDataSet;
String sql = "SELECT * FROM Sessions WHERE session = '" + session + "' AND year = '" + year + "'";
OleDbConnection oleConn = new OleDbConnection(DB.source);
try
{
MessageBox.Show("1");
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, oleConn);
MessageBox.Show("2");
myDataSet = new DataSet();
MessageBox.Show("3");
adapter.Fill(myDataSet, "sessid");
MessageBox.Show("4");
sessid = (int)myDataSet.Tables["sessid"].Rows[0]["sess_id"];
MessageBox.Show("5");
return sessid;
}
catch
{
return -1;
}
finally
{
oleConn.Close();
oleConn.Dispose();
}adapter.Fill(myDataSet, "sessid");读到这里就出错了,
DataSet myDataSet;
String sql = "SELECT * FROM Sessions WHERE session = '" + session + "' AND year = '" + year + "'";
OleDbConnection oleConn = new OleDbConnection(DB.source);
try
{
MessageBox.Show("1");
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, oleConn);
MessageBox.Show("2");
myDataSet = new DataSet();
MessageBox.Show("3");
adapter.Fill(myDataSet, "sessid");
MessageBox.Show("4");
sessid = (int)myDataSet.Tables["sessid"].Rows[0]["sess_id"];
MessageBox.Show("5");
return sessid;
}
catch
{
return -1;
}
finally
{
oleConn.Close();
oleConn.Dispose();
}adapter.Fill(myDataSet, "sessid");读到这里就出错了,
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, oleConn);
MessageBox.Show("2");
myDataSet = new DataSet();
MessageBox.Show("3");
adapter.Fill(myDataSet, "sessid");
MessageBox.Show("4");
sessid = (int)myDataSet.Tables["sessid"].Rows[0]["sess_id"];
MessageBox.Show("5");
这些MessageBox是干吗用的?你不会设置断点吗?另外,建议不要用什么session做变量名,很容易就会出错误。与关键字冲突了。
楼上的方法试试吧,在try中加入 oleConn.Open();试试。不过我觉得应该不是它的问题
试一下吧
String sql = "SELECT * FROM [Sessions] WHERE [Sessions].[session] = '" + session + "' AND year = '" + year + "'";
给表名加上[] ,如果字段是数字型的,把‘’去掉,如[Sessions].[year] = " + year + "";