我需要通过DataTable执行sql server系统功能。
DataTable具有字符串值,例如“ 12345”,在此我需要一个在SUBSTRING(,0,2)之类的Sql服务器表中配置的子字符串。
我能够从数据库表中获取条件。 但是如何在DataTable中应用此条件?
答案 0 :(得分:0)
有很多方法可以实现这一目标。
1-您可以创建一个调用函数的视图,即:
Create View testView
As
Select
dbo.myFunction(parameter)
FROM dbo.TableName
2-您可以使用Ross在他的评论中提到的C#Substring函数:
DataTableString.Substring(0, 2)
答案 1 :(得分:0)
您可以在用于填充SUBSTRING
的查询中使用DataTable
函数。在您的问题中使用了SUBSTRING(0, 2)
,我想您要该列的前两个字母吗? SQL Server中的SUBSTRING
从1开始,而在C#中,该函数从0开始。您需要在SQL查询中使用(Column, 1, 2)
来返回前两个字符。
string connStr = @"YourConnectionString;";
string cmd = @"SELECT SUBSTRING(ColumnA, 1, 2) AS ColumnA from YourSchema.YourTable";
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
DataTable dt = new DataTable();
//create data adapter from string with SQL command and SQL Connection object
SqlDataAdapter da = new SqlDataAdapter(cmd, conn);
//populate DataTable
da.Fill(dt);
}