C# 需要帮助理解代码中的SQL语句以从winform的gridview获取数据吗

C# 需要帮助理解代码中的SQL语句以从winform的gridview获取数据吗,c#,sql-server,winforms,datagridview,C#,Sql Server,Winforms,Datagridview,因为我是Winforms新手,所以我正在学习如何在gridview中使用组合框,并使用此视频作为参考将数据更新回数据库 但我无法理解作者用来更新数据的上述查询 我主要想知道下面的部分在做什么 private void UpdateEmployee(DataRow r, SqlConnection connection) { int Emp_id = (int)r["Emp_id"]; string Emp_name = (String)r["Emp_name"

因为我是Winforms新手,所以我正在学习如何在gridview中使用组合框,并使用此视频作为参考将数据更新回数据库

但我无法理解作者用来更新数据的上述查询

我主要想知道下面的部分在做什么

private void UpdateEmployee(DataRow r, SqlConnection connection)
{
         int Emp_id = (int)r["Emp_id"];
         string Emp_name = (String)r["Emp_name"];
         int Dept_id = (int)r["Dept_id"];
         string Designation = (String)r["Designation"];
         string CNIC = (String)r["CNIC"];
         string Address = (String)r["Address"];
         string Contact = (String)r["Contact"];
         string DOB = (String)r["DOB"];
         string Gender = (String)r["Gender"];
         string Religion = (String)r["Religion"];
         string Nationality = (String)r["Nationality"];

         string sql = String.Format("Update Employee Set Emp_name=N'{1}',Dept_id={2},Designation=N'{3}', CNIC=N'{4}',Address=N'{5}',Contact=N'{6}',DOB=N'{7}',Gender=N'{8}',Religion=N'{9}',Nationality=N'{10}' Where Emp_id={0} ", Emp_id, Emp_name, Dept_id, Designation, CNIC, Address, Contact, DOB, Gender, Religion, Nationality);

         SqlCommand command = new SqlCommand(sql, connection);
         command.BeginExecuteNonQuery();
}

那是什么类型的更新?这很像上面的代码可能是不正确的。如果可能的话,您能建议如何更正它吗。

首先,您所指的视频涉及
DataGridView
GridView
是一个不同的控件)。其次,你的描述必须足够清晰和全面,不要提及外部资源(更不用说视频了,没有人会看)。您不能编写一个随机代码,并期望任何人理解未定义变量的含义。例如:
int Emp_id=(int)r
等没有绝对意义(很清楚正在做什么,而不是为什么),但在视频中解释的代码中。请把你的想法放在一起,记住基本的学习在这里是离题的。我知道没有人会看作为参考发布的视频。我对sql语句有一些了解。但问题是我从来没有见过像上面发布的sql语句那样的sql语句,所以我发布了整个部分,让它更容易理解。如果你能给我一些指导的话关于它,那太好了。这不完全是SQL语句。在
String.Format
中,输入的不是结果字符串(在这种情况下是SQL语句),而是允许某些参数的版本。例如:“{1}”,这意味着有第二个相关变量,即
Emp_name
。但这不是你应该如何学习和使用这个网站,因为你不会喜欢结果:首先,你的学习不会很好(过程会不必要地令人沮丧和艰难),其次,你会在这里得到很多负面的回应(例如,否决票、不断的更正、搁置问题)。编程并不容易。如果您几乎从最基本的层面开始(SQL对某些C#实现很有用,但与C#或任何其他语言无关,无法构建应用程序),那么您必须冷静地对待事情,并遵循适当的学习过程。不要期望马上知道一切。对于经验丰富的程序员也是如此,这就是为什么这里不欢迎某些问题。我建议你专注于学习(要求越少越好),最大限度地利用大量免费在线资源,并进行大量的尝试和错误;而不是在这里问。
int Emp_id = (int)r["Emp_id"];
string Emp_name = (String)r["Emp_name"];`