![](/img/trans.png)
[英]C# Visual Studio - Outputting SQL table data to Datagridview
[英]C# SQL Data Mapping into Visual Studio
我在某个表中有大量数据列,现在需要将它们映射到C#Visual Studio中。 有没有简单的方法可以做到这一点,还是仍然很费力的手动任务。 这是我的意思的示例:
string query = @"UPDATE Buyer
SET DealID = @DealID,Title=@Title,FirstName=@FirstName,LastName=@LastName,
IDNo=@IDNo,Address=@Address,POAddress=@POAddress,HomeTel=@HomeTel,
WorkTel=@WorkTel,Cell=@Cell,Fax=@Fax,Email=@Email,
MarritalStatus=@MarritalStatus,SpouseFirstName=@SpouseFirstName,
SpouseLastName=@SpouseLastName,SpouseWorkTel=@SpouseWorkTel,
SpouseCell=@SpouseCell,SpouseFax=@SpouseFax,Notes=@Notes,
id=@id,DealID=@DealID WHERE IDNo = @IDNo";
SqlCommand cm = new SqlCommand(query, cn);
string id = iDNoTextBox.Text;
cm.Parameters.AddWithValue("@DealID", txtDealNo.Text);
cm.Parameters.AddWithValue("@id", iDNoTextBox.Text);
cm.Parameters.AddWithValue("@Title", titleComboBox.Text);
cm.Parameters.AddWithValue("@FirstName", firstNameTextBox.Text);
您可以选择一些简单的方法
首先:使用ORM这样的EntityFramework
,例如,您可以使用dapper-dot-net
示例代码:
var dog= connection.Query("select Age = @Age, Id = @Id", new {Age = (int?)null,Id=guid});
插入示例:
connection.Execute(@"insert MyTable(colA, colB) values (@a, @b)",
new[] { new { a=1, b=1 }, new { a=2, b=2 }, new { a=3, b=3 } }
).IsEqualTo(3); // 3 rows inserted: "1,1", "2,2" and "3,3"
第二:使用SqlParameter
类型的数组并将其插入SqlCommand
SqlCommand Comm = new SqlCommand("Command text", new SqlConnection("Connection String");
SqlParameter[] param = {new SqlParameter("@Name","Value"),
new SqlParameter("@Name","Value"),
........
};
Comm.Parameters.AddRange(param);
第三:或者编写一个好的Sql Assistant
并为object-to-relational
创建通用映射器,反之亦然。 那么您可以在运行时动态地生成参数,而无需进行硬编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.