在运行某些查询之前,我必须设置ANSI_NULLS和其他一些数据库选项。所以在我的代码中
const string query_prefix = "SET ANSI_NULLS ON \n GO \n SET ANSI_PADDING ON \n GO \n SET ANSI_WARNINGS ON \n GO \n SET CONCAT_NULL_YIELDS_NULL ON \n GO \n SET QUOTED_IDENTIFIER ON \n GO \n SET NUMERIC_ROUNDABORT OFF \n GO \n ";
我用作
SqlCommand cmd = new SqlCommand(query_prefix + "SELECT UserID,FirstName,MiddleName,LastName FROM mydb.dbo.UserInfo where UserID=10277",con);
我在上面添加了“\ n”,因为SET ANSI_NULLS ON GO SET ANSI_PADDING ON GO给出错误“GO附近的语法不正确”。在管理工作室中,如果GO在换行符中,那么我不会得到错误的语法错误,否则我会这样做。所以我添加了“\ n”但它仍然会引发错误。
那么如何从代码中设置这些数据库选项呢?我不能使用程序。
答案 0 :(得分:3)
GO是SSMS中的批处理分隔符,它不是SQL命令,不能包含在这样的查询中。
答案 1 :(得分:3)
示例代码可在此SO post中找到。您也可以根据您的环境在数据库级别设置这些设置的默认值。