Tag: sqlclient

如何使SqlDataReader.ReadAsync()异步运行?

当调用SQL Server实际执行需要花费时间的事情时, SqlDataReader.ReadAsync()为我同步运行。 有没有办法强制它以异步方式运行,或者是我在Task.Run()调用它的唯一选择? 这是一个复制品。 它使用winforms来certificate该调用阻止了GUI线程。 请注意,T-SQL必须实际执行某些操作 – 使用WAITFOR DELAY ’00:00:20’无法重现 。 using System; using System.Configuration; using System.Data.Common; using System.Data.SqlClient; using System.Threading.Tasks; using System.Windows.Forms; static class SqlDataReaderReadAsyncProgram { static async void Form_Shown(object sender, EventArgs e) { var form = (Form)sender; // Declare your connection string in app.config like // using (DbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString)) […]

使用SqlCommand.Parameters进行C#更新表ASP.NET

可能重复: C#使用SqlCommand.Parameters更新表 我正在尝试使用SqlCommand更新SQL Server表,我认为这是我的T-SQL的语法错误,但这是我到目前为止: SqlCommand sqlCmd = new SqlCommand( “UPDATE yak_tickets SET email = @emailParam, subject = @subjectParam, text = @textParam, statusid = @statusIDParam, ticketClass = @ticketClassParam WHERE id = @ticketIDParam”, sqlConn); 这些参数正常工作,但是,当我运行代码时,表永远不会更新。 任何帮助将不胜感激=) 这是代码的其余部分: #region Parameters /* Parameters */ sqlCmd.Parameters.Add(“@ticketIDParam”, SqlDbType.BigInt); sqlCmd.Parameters[“@ticketIDParam”].Value = ticketID; sqlCmd.Parameters.Add(“@emailParam”, SqlDbType.NVarChar); sqlCmd.Parameters[“@emailParam”].Value = ticketToBeSubmitted.getEmail(); sqlCmd.Parameters.Add(“@subjectParam”, SqlDbType.NVarChar); sqlCmd.Parameters[“@subjectParam”].Value = ticketToBeSubmitted.getSubject(); […]

如何在asp.net mvc视图中显示数据库记录

使用ASP.NET MVC和C#,如何将一些数据库记录传递给View并以表格forms显示它们? 我需要知道如何从已返回到SqlDataReader对象的数据库传输/传递一些记录行,并将该对象传递给View,这样我就可以使用foreach显示View中对象所包含的所有记录。 以下代码是我正在尝试做的事情。 但它不起作用。 控制者: public ActionResult Students() { String connectionString = “”; String sql = “SELECT * FROM students”; SqlCommand cmd = new SqlCommand(sql, connectionString); using(SqlConnection connectionString = new SqlConnection(connectionString)) { connectionString.Open(); SqlDataReader rdr = cmd.ExecuteReader(); } ViewData.Add(“students”, rdr); return View(); } 风景: Student

SqlCommand()ExecuteNonQuery()截断命令文本

我正在构建一个自定义数据库部署实用程序,我需要读取包含sql脚本的文本文件并对数据库执行它们。 很简单的东西,到目前为止一切都很好。 但是我遇到了一个障碍,文件的内容被成功完整地读取,但是一旦传入SqlCommand然后用SqlCommand执行.ExecuteNonQuery只执行部分脚本。 我启动了Profiler并确认我的代码没有传递所有脚本。 private void ExecuteScript(string cmd, SqlConnection sqlConn, SqlTransaction trans) { SqlCommand sqlCmd = new SqlCommand(cmd, sqlConn, trans); sqlCmd.CommandType = CommandType.Text; sqlCmd.CommandTimeout = 9000000; // for testing sqlCmd.ExecuteNonQuery(); } // I call it like this, readDMLScript contains 543 lines of T-SQL string readDMLScript = ReadFile(dmlFile); ExecuteScript(readDMLScript, sqlConn, trans);