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

C# SQL中的语句如何与C相关联#,c#,mysql,C#,Mysql,我创建了一个数据库,并将其与Windows窗体应用程序链接 在Visual Studio中,它是用Visual C#编写的。我很想知道我在windows窗体应用程序中添加的按钮是否与 用SQL编写的语句 我是否需要在SQL或C#的后端实现代码,或者只在两者中的一个实现代码。您可以尝试使用名为实体框架的工具,如果右键单击项目名称并选择管理NuGet包,就可以安装该工具 这将为您建立一个框架,这样您就不必编写任何连接表单和数据库的C#代码。这是一种易于使用的方法,因为它创建了表适配器,从而实现了从数

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


我是否需要在SQL或C#的后端实现代码,或者只在两者中的一个实现代码。

您可以尝试使用名为实体框架的工具,如果右键单击项目名称并选择管理NuGet包,就可以安装该工具

这将为您建立一个框架,这样您就不必编写任何连接表单和数据库的C#代码。这是一种易于使用的方法,因为它创建了表适配器,从而实现了从数据库中的表到代码的连接,例如:

var myTableAdapter = new myDatabase_TableAdapters.myTableTableAdapter();
System.Data.DataTable myDataTable = myTableAdapter.GetData();
现在,SQL数据库中的表中的数据位于DataTable中,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\u TableAdapters
。它不完全是一个
TableAdapter
,而是EntityFramework在后台为用户创建的
TableAdapter

您需要编写代码。查看一些教程。你写什么和怎么写取决于你用过什么。如果您设置属性,还有一些控件的代码已准备就绪。只需浏览初学者教程。用c#编写代码来读取和写入数据库。奇怪的是,有很多方法可以使用Visual Studio自动生成所需的大量代码,比如服务器窗口和工具箱窗口中的SqlDataAdapter(我想,已经有一段时间了)。人们经常发现,当他们需要做一些不简单的曲奇饼形式的事情时,他们需要开始编写代码。p、 很好的截图,告诉了我们很多你真正想问的问题。很好的回答-只是一个提示,我不知道你从哪里得到了
myDatabase\u TableAdapters
。它是什么类型的?它是EF创建的某个静态对象的属性吗?@DanRayson谢谢,根据我使用Entity Framework的经验,我相信它创建了一个连接字符串,并允许用户从数据库中命名用户希望包含的所有表的数据集。默认情况下,它为数据集提供的名称是数据库的名称。因此,我通常将其保留为默认值,它将创建名称
myDataBase\u TableAdapters
,其中myDataBase是数据库的名称。但是,简而言之,EntityFramework在后台创建的是一个
TableAdapter
,因此它不完全是一个
TableAdapter
,而是一个
myDataBase\u TableAdapter