问题描述
邮件定时发送系统中,从数据库中查询符合指定的日期,并输出,但是运行的时候报错:未处理System.IndexOutOfRangeException:在位置0处没有任何行求高手指教!stringconnstr=@"DataSource=.SQLEXPRESS;AttachDbFilename=D:毕业设计sendmailsystemWindowsApplication1WindowsApplication1Database2.mdf;IntegratedSecurity=True;UserInstance=True";stringmysql="select*fromTable2wheredate='+dateTimePicker1.Value+'";SqlConnectionconn=newSqlConnection(connstr);conn.Open();SqlDataAdapteradp=newSqlDataAdapter(mysql,conn);DataSetds=newDataSet();adp.Fill(ds,"Table2");TimeSpants=dp.Subtract(dt);stringd=ds.Tables["Table2"].Rows[0][0].ToString();stringr=ds.Tables["Table2"].Rows[0][1].ToString();strings=ds.Tables["Table2"].Rows[0][2].ToString();stringm=ds.Tables["Table2"].Rows[0][3].ToString();MessageBox.Show(r);
解决方案
解决方案二:
stringmysql="select*fromTable2wheredate='+dateTimePicker1.Value+'";这句话有误stringmysql="select*fromTable2wheredate='"+dateTimePicker1.Value.ToString()+"'";
解决方案三:
stringconnstr=@"DataSource=.SQLEXPRESS;AttachDbFilename=D:毕业设计sendmailsystemWindowsApplication1WindowsApplication1Database2.mdf;IntegratedSecurity=True;UserInstance=True";stringmysql="select*fromTable2wheredate='"+dateTimePicker1.Value+"'";SqlConnectionconn=newSqlConnection(connstr);conn.Open();SqlDataAdapteradp=newSqlDataAdapter(mysql,conn);DataSetds=newDataSet();adp.Fill(ds,"Table2");TimeSpants=dp.Subtract(dt);stringd=ds.Tables["Table2"].Rows[0][0].ToString();stringr=ds.Tables["Table2"].Rows[0][1].ToString();strings=ds.Tables["Table2"].Rows[0][2].ToString();stringm=ds.Tables["Table2"].Rows[0][3].ToString();MessageBox.Show(r);没有取得到数据所以数组下标越界
解决方案四:
stringconnstr=@"DataSource=.SQLEXPRESS;AttachDbFilename=D:毕业设计sendmailsystemWindowsApplication1WindowsApplication1Database2.mdf;IntegratedSecurity=True;UserInstance=True";stringmysql="select*fromTable2wheredate='"+dateTimePicker1.Value+"'";SqlConnectionconn=newSqlConnection(connstr);conn.Open();SqlDataAdapteradp=newSqlDataAdapter(mysql,conn);DataSetds=newDataSet();adp.Fill(ds,"Table2");TimeSpants=dp.Subtract(dt);stringd=ds.Tables["Table2"].Rows[0][0].ToString();stringr=ds.Tables["Table2"].Rows[0][1].ToString();strings=ds.Tables["Table2"].Rows[0][2].ToString();stringm=ds.Tables["Table2"].Rows[0][3].ToString();MessageBox.Show(r);查询数据库后,返回的数据为空
解决方案五:
查询语句的错误我已经改正了,但是运行后还是出现这个异常,应该要怎么解决这个异常呢?和我保存在数据库的日期的数据类型有关?
解决方案六:
加个条件ifds.Tables["Table2"].rows.count>0Tables["Table2"]是空的啊.肯定会错.
解决方案七:
该回复于2008-06-07 18:01:41被版主删除