在C#中的DataTable上调用SQL System函数

时间:2018-12-14 18:52:32

标签: c# sql sql-server entity-framework ssis

我需要通过DataTable执行sql server系统功能。

DataTable具有字符串值,例如“ 12345”,在此我需要一个在SUBSTRING(,0,2)之类的Sql服务器表中配置的子字符串。

我能够从数据库表中获取条件。 但是如何在DataTable中应用此条件?

2 个答案:

答案 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);
}