使用Dynamic SQL更新
我尝试使用executenonquery()
使用sqlCommand
更新表。但是,什么都没有发生。我想知道发生了什么。我在SSM中运行了相同的命令,一切都成功了。不知道为什么它在我的C#代码(.NET 4.6)上不起作用。
谢谢你!
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp_StoredProc
{
class Program
{
static void Main(string[] args)
{
string columnName = "DepartmentId";
string connString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
string commandText = @"IF EXISTS(SELECT * FROM sys.columns where object_id=OBJECT_ID('Test.dbo.AppUser') and name = '"+columnName+"') " +
"UPDATE Test.dbo.AppUser SET ["+columnName+ "] = @deptId where Id = @id";
int rowUpdated = 0;
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
SqlParameter param2 = new SqlParameter("@deptId", 2);
SqlParameter param3 = new SqlParameter("@id", 4);
cmd.Parameters.Add(param2);
cmd.Parameters.Add(param3);
cmd.CommandText = commandText;
cmd.Connection = conn;
conn.Open();
rowUpdated = cmd.ExecuteNonQuery();
Console.WriteLine(rowUpdated);
Console.ReadKey();
}
}
}
}
}
I've tried to use the ExecuteNonQuery()
to update a table using the SqlCommand
. However, nothing happened. I'd like to know what happened. I've run the same command in SSMS and everything worked successfully. Don't know why it doesn't work on my C# code (.NET 4.6).
Thank you!
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp_StoredProc
{
class Program
{
static void Main(string[] args)
{
string columnName = "DepartmentId";
string connString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
string commandText = @"IF EXISTS(SELECT * FROM sys.columns where object_id=OBJECT_ID('Test.dbo.AppUser') and name = '"+columnName+"') " +
"UPDATE Test.dbo.AppUser SET ["+columnName+ "] = @deptId where Id = @id";
int rowUpdated = 0;
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
SqlParameter param2 = new SqlParameter("@deptId", 2);
SqlParameter param3 = new SqlParameter("@id", 4);
cmd.Parameters.Add(param2);
cmd.Parameters.Add(param3);
cmd.CommandText = commandText;
cmd.Connection = conn;
conn.Open();
rowUpdated = cmd.ExecuteNonQuery();
Console.WriteLine(rowUpdated);
Console.ReadKey();
}
}
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论