SQL中的语句如何与C#相关联

时间:2018-08-18 12:38:30

标签: c# mysql

我创建了一个数据库,并将其与Windows窗体应用程序链接 在Visual Studio中,它是用Visual C#编写的。我很好奇我在Windows窗体应用程序中添加的按钮是否与 用SQL编写的语句。enter image description here

我将需要在SQL或C#的后端或两者之一中实现代码。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用实体框架,如果您右键单击项目名称并选择管理NuGet软件包,则可以安装该框架。

这将为您建立一个框架,这样您就不必编写任何将表单与数据库连接的C#代码。这很容易使用,因为它创建了 Table Adapters (表适配器),该适配器使从数据库中的表到代码的连接得以实现,例如:

var myTableAdapter = new myDatabase_TableAdapters.myTableTableAdapter();
System.Data.DataTable myDataTable = myTableAdapter.GetData();

现在,您具有来自SQL数据库中表中数据的数据表,并且具有TableAdapter作为两者之间的连接。

假设您要从用户那里获取输入,然后对于我们的示例,请考虑数据来自文本框,然后可以执行以下操作:

string vehicleRegNum = vehicleRegNumTextBox.Text,
    make = makeTextBox.Text,
    engineSize = engineSizeTextBox.Text,
    dateReg = dateRegTextBox.Text,
    rentPerDay = rentPerDayTextBox.Text;
bool avail = availCheckBox.Checked;
myTableAdapter.Insert(vehicleRegNum, make, engineSize, dateReg, rentPerDay, avail);

.Insert 会将这些数据添加到您的数据库中(这里我假设所有文本框都进入数据库中的一个表,并且其顺序与我给的顺序相同)。

所以,一般来说

  • 在NuGet中获取实体框架设置
  • 从数据库中的表设置表适配器
  • 使用用户输入进行更新

旁注:我总是喜欢在此类表中添加用户和日期列,以便您可以使用:

string usr = System.Environment.UserName
var entryDate = System.DateTime.Now;

说明:@ DanRayson在评论中向我指出,我应该对myDatabase_TableAdapters更加清楚。它不完全是TableAdapter,而是 EntityFramework 在后台为用户创建的TableAdapter