Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有可用的数据表查询生成器,如sql查询生成器?_C#_Sql_Visual Studio 2010_Datatable - Fatal编程技术网

C# 是否有可用的数据表查询生成器,如sql查询生成器?

C# 是否有可用的数据表查询生成器,如sql查询生成器?,c#,sql,visual-studio-2010,datatable,C#,Sql,Visual Studio 2010,Datatable,我是网络新手,我想用数据表代替数据库。 我想知道为什么数据表查询不同于sql查询? 我想从数据表中找到一个值: SELECT dbo.General_Ledger.Entry_Amount FROM dbo.General_Ledger WHERE Account_number=lbDebit_Account_numer 及 因此,您需要参数化查询: SqlDataAdapter da3 = new SqlDataAdapter("SELECT * FROM dbo.General_Led

我是网络新手,我想用数据表代替数据库。 我想知道为什么数据表查询不同于sql查询? 我想从数据表中找到一个值:

  SELECT dbo.General_Ledger.Entry_Amount FROM dbo.General_Ledger WHERE Account_number=lbDebit_Account_numer


因此,您需要参数化查询:

SqlDataAdapter da3 = new SqlDataAdapter("SELECT * FROM dbo.General_Ledger WHERE Account_number = @Account_number");
da3.SelectCommand.Parameters.AddWithValue("@Account_number", lbDebit_Account.SelectedValue);

DataTable dt1 = new DataTable();
da3.Fill(dt1);
现在您只需要一行,您可以这样恢复它:

DataRow dr = dt1.Rows[0];
然后您可以通过多种不同的方式获取该行的值:

var val = dr[0]; // grabs the value of the first column in the result list
var val = dr["fieldname"] // grabs the value of a specific field name
甚至还有一些方法会返回类型化数据,因为前面提到的返回一个
对象
,因为底层值可能是很多东西。因此,如果它是一个字符串字段,您可以执行以下操作:

var val = dr.Field<string>(0) // grabs the value of the first column and returns it typed as a string
var val = dr.Field<string>("fieldname") // grabs a field and returns it typed as a string
var val=dr.Field(0)//获取第一列的值并将其作为字符串类型返回
var val=dr.Field(“fieldname”)//获取字段并将其作为字符串类型返回

非常简单,您希望根据此字符串[lbDebit\u Account\u numer]筛选数据表[dt1]

DataRow dr = dt1.Select("Account_number = '"+lbDebit_Account_numer ="'"); 
你可以用

操作员

单个代码[']需要比较字符串变量


在这里,当您获取数据行时,所有单元格都将以数组格式选择任何单元格。

您可以尝试使用DataTable类的DefaultView.RowFilter属性

例如:

dataTable.DefaultView.RowFilter = "Account_number=1"; 
DataRow dr = dt1.Select("Account_number = '"+lbDebit_Account_numer ="'"); 
dataTable.DefaultView.RowFilter = "Account_number=1";