我想把用sql语句插到的记录存到一个数据集中,然后通过判断这个数据集是否为空来决定下一步的操作。部分代码是这样的:string _str = "select * from plate_table where hashvalue='" + pwd + "'";
DataSet dt = new DataSet();
dt = DbOperate.getDataSet(_str);
if (dt.Tables.Count==1 && dt.Tables[0].Rows.Count!=0)
{
//string _sql = "update plate_table set theme='" + theme[k] + "',publishtime='" + publishTime[k] + "',lasttime='" + lastTime[k] + "',sponsor='" + sponsor[k] + "',replynum='" + replyNum[k] + "',readnum='" + readNum[k] + "' where hashvalue='" + pwd + "'";
string _sql="delete * from plate_table where hashvalue='"+pwd+"'";
DbOperate.execCommand(_sql);
string _sql1 = "insert into plate_table(theme,publishtime,lasttime,sponsor,replynum,readnum,hashvalue) values('" + theme[k] + "','" + publishTime[k] + "','" + lastTime[k] + "','" + sponsor[k] + "','" + replyNum[k] + "','" + readNum[k] + "','" + pwd + "')";
DbOperate.execCommand(_sql1);
}
else
{
string _sql = "insert into plate_table(theme,publishtime,lasttime,sponsor,replynum,readnum,hashvalue) values('" + theme[k] + "','" + publishTime[k] + "','" + lastTime[k] + "','" + sponsor[k] + "','" + replyNum[k] + "','" + readNum[k] + "','" + pwd + "')";
DbOperate.execCommand(_sql);
}
在类Dboperate中用这样一段代码:public static DataSet getDataSet(string _sql) {
try {
OleDbDataAdapter _orclDataAdaprer;
DataSet _orclDataSet = new DataSet(); if (!object.Equals(_dataReader, null) && _dataReader.IsClosed == false) {
_dataReader.Close();
_dataReader = null;
}
_orclDataAdaprer = new OleDbDataAdapter(_sql, _orclConnection); _orclDataAdaprer.Fill(_orclDataSet);
return _orclDataSet.Copy(); } catch (Exception ex) {
//MessageBox.Show(_sql + Environment.NewLine + e.Message);
throw ex;
}
}在这句上dt = DbOperate.getDataSet(_str);中断,并且提示类型初始值设定项引发异常
请大家帮忙分析一下为什么会出现这种情况?请尽量说的明白一些。谢谢了。
DataSet dt = new DataSet();
dt = DbOperate.getDataSet(_str);
if (dt.Tables.Count==1 && dt.Tables[0].Rows.Count!=0)
{
//string _sql = "update plate_table set theme='" + theme[k] + "',publishtime='" + publishTime[k] + "',lasttime='" + lastTime[k] + "',sponsor='" + sponsor[k] + "',replynum='" + replyNum[k] + "',readnum='" + readNum[k] + "' where hashvalue='" + pwd + "'";
string _sql="delete * from plate_table where hashvalue='"+pwd+"'";
DbOperate.execCommand(_sql);
string _sql1 = "insert into plate_table(theme,publishtime,lasttime,sponsor,replynum,readnum,hashvalue) values('" + theme[k] + "','" + publishTime[k] + "','" + lastTime[k] + "','" + sponsor[k] + "','" + replyNum[k] + "','" + readNum[k] + "','" + pwd + "')";
DbOperate.execCommand(_sql1);
}
else
{
string _sql = "insert into plate_table(theme,publishtime,lasttime,sponsor,replynum,readnum,hashvalue) values('" + theme[k] + "','" + publishTime[k] + "','" + lastTime[k] + "','" + sponsor[k] + "','" + replyNum[k] + "','" + readNum[k] + "','" + pwd + "')";
DbOperate.execCommand(_sql);
}
在类Dboperate中用这样一段代码:public static DataSet getDataSet(string _sql) {
try {
OleDbDataAdapter _orclDataAdaprer;
DataSet _orclDataSet = new DataSet(); if (!object.Equals(_dataReader, null) && _dataReader.IsClosed == false) {
_dataReader.Close();
_dataReader = null;
}
_orclDataAdaprer = new OleDbDataAdapter(_sql, _orclConnection); _orclDataAdaprer.Fill(_orclDataSet);
return _orclDataSet.Copy(); } catch (Exception ex) {
//MessageBox.Show(_sql + Environment.NewLine + e.Message);
throw ex;
}
}在这句上dt = DbOperate.getDataSet(_str);中断,并且提示类型初始值设定项引发异常
请大家帮忙分析一下为什么会出现这种情况?请尽量说的明白一些。谢谢了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货