我在想,如果没有连接到SQLServer,SQLDataReader应该不会工作。我试验过这种情况。我执行ExecuteReader,然后停止SQLServer服务并尝试循环访问DataReader。我所期望的是一个异常(exception),但它给出了一个接一个的结果。理想情况下,DataReader应该一次从连接到数据库服务器的流中读取一行,如果我们断开数据库服务器,它应该抛出异常?我不知道,我在这里缺少什么。 最佳答案 我强烈怀疑读者一次读取了一批结果。这比一次一行要高效得多(想想单行只有几个字节的情况......当它可以在一
我通常这样写我的DataReader代码:try{dr=cmd.ExecuteReader(CommandBehavior.SingleResult);while(dr.Read()){//Dostuff}}finally{if(dr!=null){dr.Close();}}用DataReader周围的usingblock替换try和finally是否安全创建?我想知道的原因是因为在我看到的所有Microsoft示例中,它们都使用using进行连接,但总是在DataReader上显式调用Close()。这是一个例子RetrievingDataUsingaDataReader(ADO.N
我用数据阅读器读取了一个使用这种格式的字符串。如何使用类似格式读取日期?while(MyReader.Read()){TextBox1.Text=(string)MyReader["Note"];} 最佳答案 尝试如下所示:while(MyReader.Read()){TextBox1.Text=Convert.ToDateTime(MyReader["DateField"]).ToString("dd/MM/yyyy");}在ToString()方法中,您可以根据需要更改数据格式。 关
我正在改编其他人编写的一些代码,为了节省时间,我需要返回一个DataTable。我有这样的代码:using(SqlCommandcommand=newSqlCommand(query,conn)){//addparametersandtheirvaluesusing(SqlDataReaderdr=command.ExecuteReader()){returndr;}但是返回数据表的最佳方式是什么? 最佳答案 使用DataTable.Load使用SqlDataReader中的值填充表格的方法:using(SqlDataReaderd
我有以下查询:SqlCommandcmd=newSqlCommand("Selectemployee_id,lastname,firstnamefromEmployees",conn);//ExecutereaderSqlDataReaderreader=cmd.ExecuteReader();假设我想知道字段employee_id的数据类型。如何使用SqlDataReader确定这一点? 最佳答案 reader.GetFieldType(intordinal)将返回字段的.NET类型,同时:reader.GetDataTypeNa
我通常使用DataSet因为它非常灵活。最近我被分配了代码优化任务,为了减少对数据库的访问,我正在更改一个过程中的两个查询。一个查询返回计数,另一个返回实际数据。也就是说,我的存储过程返回两个表。现在,我知道如何使用DataSets读取两个表,但我需要使用DataReader读取两个表。在搜索中,我找到了This.我按照文章写了我的代码是这样的:dr=cmd.ExecuteReader();while(dr.Read()){}if(dr.NextResult())//thislinethrowsexception{while(dr.Read()){但我在dt.NextResult遇到异
我有这个查询,我在这个函数中得到了错误:varaccounts=fromaccountincontext.Accountsfromguranteerinaccount.GurantorsselectnewAccountsReport{CreditRegistryId=account.CreditRegistryId,AccountNumber=account.AccountNo,DateOpened=account.DateOpened,};returnaccounts.AsEnumerable().Select((account,index)=>newAccountsReport()
我有以下代码,但遇到异常:ThereisalreadyanopenDataReaderassociatedwiththisConnectionwhichmustbeclosedfirst.我在这个项目中使用VisualStudio2010/.Net4.0和MySQL。基本上,我试图在使用数据阅读器执行其他任务时运行另一个SQL语句。我在cmdInserttblProductFrance.ExecuteNonQuery();行遇到异常SQL="Select*fromtblProduct";//CreateConnection/Command/MySQLDataReaderMySqlCon