Tag: sqldatareader

如何使用c#从数据库中检索多个图像

我有一个9个图像的数据库,它不断变化,所以我不能直接在html 标签中设置src来显示9个图像,我必须从数据库中选择它们并相应地绑定它们。 我能够使用Response.BinaryWrite()检索和打印1个图像,但不是全部9.我的byte[]只获取db中的第一个图像, 这是代码, while (dr.Read()) { Response.ContentType = “image/jpg”; Response.BinaryWrite((byte[])(dr[“fsImage”])); } 如何检索所有9个图像,以及如何将它们绑定到标记或动态构造html 标记 我是新手,所以如果有愚蠢的错误,请放轻松我;) 提前致谢。

无法将方法组’Read’转换为非委托类型’bool’

我试图使用SqlDataReader来检查条目是否存在。 如果存在,它将返回ID,否则返回false。 当我尝试编译时,我收到错误“无法将方法组’读’转换为非委托类型’bool’。我一直在关注我在VB中找到的示例,但似乎翻译可能不正确。 private string checkProfileExists() { string strReturn = “False”; string strSql = (“SELECT ID FROM tblInformation WHERE txtUsername=@UserName ” + “AND TrackingID=@TrackingID”); string strConn = ConfigurationManager.ConnectionStrings[“WEM_PassWord_Reset”]. ConnectionString; SqlConnection objConn = new SqlConnection(strConn); SqlCommand objCmd = new SqlCommand(strSql, objConn); objCmd.Parameters.AddWithValue(“@Username”, txtUsername.Text); objCmd.Parameters.AddWithValue(“@TrackingID”, txtTrackingID.Text); try { objConn.Open(); System.Data.SqlClient.SqlDataReader rdr = objCmd.ExecuteReader(); if (rdr.Read) { strReturn […]

c#关闭sqlconnection和sqldatareader与否?

我有这段代码: SqlConnection conn; string strconString = System.Configuration.ConfigurationManager.ConnectionStrings[“SQLCONN”].ToString(); conn = new SqlConnection(strconString); string cmdstr = “select status from racpw where vtgid = ” + vtgid; SqlCommand cmdselect = new SqlCommand(cmdstr, conn); conn.Open(); SqlDataReader dtr = cmdselect.ExecuteReader(); if (dtr.Read()) { return; } else { … } dtr.Close(); conn.Close(); 现在我的问题是。 如果返回,我的连接和dtr是自动关闭还是我应该使用bool变量并在我的连接关闭后执行返回?

SqlDataReader挂起在Dispose()上

我使用以下方法来执行数据库查询和读取数据: using(SqlConnection connection = new SqlConnection(“Connection string”)) { connection.Open(); using(SqlCommand command = new SqlCommand(“SELECT * FROM TableName”, connection)) { using (SqlDataReader reader = command.ExecuteReader()) { // read and process data somehow (possible source of exceptions) } // <- reader hangs here if exception occurs } } 在读取和处理数据时,可能会发生一些exception。 问题是抛出exception时DataReader挂起在Close()调用上。 你有什么想法为什么??? 以及如何以正确的方式解决这个问题? 当我在finally处理读者之前写了try..catch..finally阻塞而不是using和调用command.Cancel()时问题已经消失了。 工作版本: using(SqlConnection connection = […]

如何安全地将可空结果从sqlreader转换为int?

我有一个包含空值的表,我需要使用SqlDataReader从表中获取数据。 我无法弄清楚如何安全地将DBNull转换为int。 我现在正以这种方式做到这一点: … reader = command.ExecuteReader(); while (reader.Read()) { int y = (reader[“PublicationYear”] != null) ? Convert.ToInt32(reader[“PublicationYear”]) : 0; … } … 但是获取Object cannot be cast from DBNull to other types. 当PublicationYear为null时。 我怎样才能安全地获得价值? 谢谢。

百万插入:SqlBulkCopy超时

我们已经有一个运行系统来处理所有连接字符串( db2 , oracle , MSServer )。 目前,我们正在使用ExecuteNonQuery()来进行一些插入。 我们希望通过使用SqlBulkCopy()而不是ExecuteNonQuery()来提高性能。 我们有一些客户拥有超过5000万条记录。 我们不想使用SSIS ,因为我们的系统支持多个数据库。 我创建了一个示例项目来测试SqlBulkCopy()的性能。 我为MSServer创建了一个简单的读取和插入函数 这是小function: public void insertIntoSQLServer() { using (SqlConnection SourceConnection = new SqlConnection(_sourceConnectionString)) { //Open the connection to get the data from the source table SourceConnection.Open(); using (SqlCommand command = new SqlCommand(“select * from ” + _sourceSchemaName + “.” + _sourceTableName + “;”, […]

错误:在while循环后关闭阅读器时无效尝试调用Read?

您好我有一个方法从sql读取一些数据并将它们保存到数组。 找出sql结果有多少行我写了这个: DataTable dt = new DataTable(); dt.Load(rdr); count = dt.Rows.Count; 之后,sqldatareader将结果保存到数组中。 这是我的完整代码: public BookingUpdate[] getBookingUpdates(string token) { String command = “SELECT b.ID,b.VERANSTALTER, rr.VON ,rr.BIS, b.THEMA, b.STORNO, ra.BEZEICHNUNG from BUCHUNG b JOIN RESERVIERUNGRAUM rr on rr.BUCHUNG_ID = b.ID JOIN RAUM ra on ra.ID = rr.RAUM_ID WHERE b.UPDATE_DATE BETWEEN DATEADD (DAY , -20 , getdate()) AND […]

SQL数据读取器:没有数据时读取的尝试无效

我试图使用SqlDataReader运行查询,然后在消息框中显示结果,但我不断收到错误 没有数据时读取的尝试无效。 这是我的代码。 public void button1_Click(object sender, EventArgs e) { string results = “”; using (SqlConnection cs = new SqlConnection(@”Server=100-nurex-x-001.acds.net;Database=Report;User Id=reports;Password=mypassword”)) { cs.Open(); string query = “select stationipaddress from station where stationname = @name”; using (SqlCommand cmd = new SqlCommand(query, cs)) { // Add the parameter and set its value — cmd.Parameters.AddWithValue(“@name”, textBox1.Text); using (SqlDataReader […]

从SqlDataReader写入多个文件

我已经创建了一个数据读取器流,我正在尝试将结果写入文件。 由于此表可能会返回数百万条记录,因此我想写入多个文件,以便我可以在文本编辑器中打开它们而不会出现问题,即。 文本编辑器崩溃,因为文件太大。 这大致是我现在所拥有的。 using (var connection = new SqlConnection(connectionString)) using (var stream = new FileStream(“directoryLocation”, FileMode.Create)) { SqlCommand command = connection.CreateCommand(); command.CommandText = “Select * from tblTemp”; connection.Open(); using(SqlDataReader reader = command.ExecuteReader()) { var tableName = “tblTemp”; var fileName = tableName + “.txt”; var recordCount = 0; var fileCount = 0; using (StreamWriter writer […]

将C#2.0 System.Data.SqlTypes.SqlXml对象转换为System.Xml.XmlNode

我似乎总是在C#中将数据转换为XML或从XML转换数据时遇到问题。 它总是希望您创建一个完整的XMLDocument对象,即使您认为不应该这样做。 在这种情况下,我在MS SQL 2005服务器中有一个SQLXML列,我试图将其拉出并推入需要XMLNode作为参数的函数。 您会认为这很容易,但除了将其转换为字符串并创建新的XMLNode对象之外,我无法找到正确的方法。 我可以使用SqlDataReader,sqlComm.ExecuteReader()来加载读取器,使用sqlReader.GetSqlXml(0)来获取SQLXML对象,但是如何将其转换为XmlNode? 相反,我可以使用sqlComm.ExecuteXmlReader()来获取XmlReader,但是如何从阅读器中提取XmlNode呢? http://bytes.com/forum/thread177004.html表示无法使用XmlTextReader完成,我应该使用XmlNodeReader吗? 请帮忙!