Tag: ado.net

如何在WPF中刷新datagrid

我的源代码是在MySQL数据库中,我已经发出了更新命令,现在我需要刷新我的DataGrid 。 MySqlCommand cmd = new MySqlCommand( “update request set status = ” + StatusRequest(value) + ” where id = ” + rowView[0].ToString() + “”, conn); MySqlDataReader myReader = cmd.ExecuteReader(); 如何刷新DataGrid ?

是否可以使用查询参数来填充IN关键字

想象一下将GUID作为主键的表。 我想根据主键选择其中一些行。 我想使用如下查询: SELECT * FROM mytable WHERE id IN (‘firstguidhere’,’secondguidhere’); 我使用ADO.NET来查询数据库,所以我想使用参数化查询而不是动态sql,这显然可行,但我想保留参数化查询的好处(安全性,转义等…) 。 是否可以使用sql-parameters填充IN子句的集合?

ADO.NET – 更新多个DataTable

所以我有一些像这样的代码: DataSet dataSet = new DataSet(); DataTable dataTable1 = new DataTable(“Table1”); DataTable dataTable2 = new DataTable(“Table2”); DataTable dataTable3 = new DataTable(“Table3”); DataTable dataTable4 = new DataTable(“Table4”); dataSet.Tables.Add(dataTable1); dataSet.Tables.Add(dataTable2); dataSet.Tables.Add(dataTable3); dataSet.Tables.Add(dataTable4); SqlDataAdapter dataAdapter1 = new SqlDataAdapter(“SELECT * FROM Table1 WHERE ID = 1”, sqlConnection); SqlDataAdapter dataAdapter2 = new SqlDataAdapter(“SELECT Column1, Column2, Column3 FROM Table2”, sqlConnection); SqlDataAdapter […]

Dapper vs ADO.Net用reflection哪个更快?

我研究了Dapper和ADO.NET,并对两者进行了选择测试,发现有时ADO.NET比Dapper更快,有时会逆转。 我知道这可能是数据库问题,因为我正在使用SQL Server。 据说reflection很慢,我在ADO.NET中使用reflection。 那么有谁能告诉我哪种方法最快? 这就是我编码的内容。 使用ADO.NET DashboardResponseModel dashResp = null; SqlConnection conn = new SqlConnection(connStr); try { SqlCommand cmd = new SqlCommand(“spGetMerchantDashboard”, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue(“@MID”, mid); conn.Open(); var dr = cmd.ExecuteReader(); List lstMerProd = dr.MapToList(); List lstMerPay = dr.MapToList(); if (lstMerProd != null || lstMerPay != null) { dashResp = new DashboardResponseModel(); […]

将数据异步加载到Windows窗体中的DataTable中

我正在修改旧的WinForms / ADO应用程序的数据访问层,以通过异步developerforce rest api使用soql来获取Salesforce对象。 以下方法通常有效,除了我的十三个表例程之一永远不会从AddMyTableRow(System.Data.DataRowCollection.Add())方法返回: public void LoadData() { var tasks = new List<Task> { GetObject1Async(), GetObject2Async(),… GetObject13Async() }; Task.WaitAll(tasks.ToArray()); //do some postprocessing now that I have all the data } async Task GetObject1Async(){ var response = await cnx.QueryAsync(“SELECT foo FROM bar”).ConfigureAwait(false); foreach (var rec in response.Records){ var row = MyDataSet.MyTable.NewMyTableRow(); row.Name = rec.Name; […]

如何使用C#将SQL数据库中的值获取到文本框中?

我正在创建一个预订管理系统,我在尝试从SQL数据库中获取数据并插入到我的应用程序的一组文本框中时遇到问题。 我想在DataGridView中显示单击按钮时的客户详细信息,但是当我单击该按钮时,应用程序会抛出exception,并显示以下错误消息; 没有数据时读取的尝试无效。 我附上了我要查看客户详细信息的屏幕截图 ,以及按钮的代码,最终将在相应的文本框中显示客户详细信息。 任何帮助将不胜感激! SqlConnection sc = new SqlConnection(“Data Source=localhost;Initial Catalog=LoginScreen;Integrated Security=True”); SqlCommand com = new SqlCommand(); com.Connection = sc; sc.Open(); SqlDataReader read = (null); com.CommandText = (“select * from Pending_Tasks”); read = com.ExecuteReader(); CustID.Text = (read[“Customer_ID”].ToString()); CustName.Text = (read[“Customer_Name”].ToString()); Add1.Text = (read[“Address_1”].ToString()); Add2.Text = (read[“Address_2”].ToString()); PostBox.Text = (read[“Postcode”].ToString()); PassBox.Text = (read[“Password”].ToString()); DatBox.Text […]

SqlCommand的输入输出参数

我有SqlCommand的以下参数。 如何进入和退出存储过程的参数值。 SqlCommand mySqlCommand = new SqlCommand(“aspInsertZipCode”, mySqlConnection); mySqlCommand.CommandType = CommandType.StoredProcedure; mySqlCommand.Parameters.Add(“@DataRows”, dataStringToProcess.ToString());

如何更新记录而不在ADO.NETentity framework中再次选择该记录?

大家好我正在做这样的事情 – void update(ClasstoUpdate obj)//obj is already having values to update… { var data= (from i in Entityobject.ClasstoUpdate where obj.Id==i.Id select i).FirstorDefault(); data.Name=”SomeCoolName”; EntityObject.SaveChanges(); } 我想在不再使用Id进行查询的情况下执行更新,是否有任何方法我只是将更新的对象传递给ADO.NETentity framework并更新它。对不起,如果我在这里遗漏了一些东西,但这是我的方式一直在想它是否有一种简单的更新方式。 谢谢。

检索scope_identity时,特定强制转换无效

我得到例外:“具体演员无效”,这里是代码 con.Open(); string insertQuery = @”Insert into Tender (Name, Name1, Name2) values (‘Val1′,’Val2′,’Val3’);Select Scope_Identity();”; SqlCommand cmd = new SqlCommand(insertQuery, con); cmd.ExecuteNonQuery(); tenderId = (int)cmd.ExecuteScalar();

在SQL Server Management Studio中快速从C#运行时,SQL查询超时

我有一个C#程序,使用下面列出的代码执行SQL查询。 我已经使用这段代码一段时间没有问题,直到前几天。 我将查询字符串传递给SQL,其中包含一个字符串列表,这些字符串是库存标识符。 几天前我运行它,查询超时,如果我让它运行一个多小时。 我花了这么多天试图调试这个。 在我的原始查询中,大约有900个标识符。 我已经尝试过改变我能想到的一切,但我得到了无法解释的结果。 例如: 查询使用一个股票列表,但不能使用另一个字符串和总长度相同的长度列表 它适用于一个列表,但不能以相反的顺序使用相同的列表 有一个列表,如果有正好900个标识符,它可以工作,但如果有899或901则不行,我可以包含或排除不同的标识符并获得相同的结果,因此它不是一个标识符之一的时髦。 在每种情况下,我都捕获了我的程序传递的查询字符串并将其复制到SQL Server Management Studio中,并且在每种情况下,查询都会在1秒内运行。 我已经在这个和其他论坛上阅读了关于在SQL Server Management Studio中工作但在从程序运行时超时的所有内容,但这似乎有所不同,因为我可以找到失败的情况和类似的情况工作。 我希望看到我可能会看到可能发生的事情的建议。 using (SqlConnection conn = new SqlConnection(_connectString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(queryString, conn)) { cmd.Parameters.Clear(); cmd.CommandTimeout = _timeout; SqlParameter param; if (parms != null) { foreach (string parm in parms.Keys) { param = […]