【发布时间】:2016-03-24 13:13:13
【问题描述】:
我正在创建一个 WinForms 应用程序。我将连接字符串放在 App.config 文件中。然后创建连接字符串变量
string gLwConnStr = ConfigurationManager.ConnectionStrings["LWConnectionString"].ConnectionString;
string sql = "Select * from Users Where LoginName='" + System.Security.Principal.WindowsIdentity.GetCurrent().Name + "'";
string tbl = "User";
DataTable dt = new DataTable(tblName);
SqlDataAdapter da = new SqlDataAdapter(sql, gLwConnStr);
da.Fill(dt);
这段代码看起来正确吗?我不像其他帖子那样调用任何 .open 命令,所以我不知道是否必须关闭以及如何关闭它。另外我只读取数据,不写入数据,所以我不使用上下文。其他帖子建议“使用”,但我如何在这段代码中使用它?我尝试在块周围使用它返回红线(如语法错误)
我看到其他帖子使用 sqlconnection 打开连接然后关闭连接,但我在这里不使用它。我该如何关闭它?
我不明白为什么其他人说这篇文章是重复的。如果您认为它是重复的并且已经提供了答案,请指出它。抱歉,我是 C# 语言的新手,有时我看不到细微的差异。
您能否建议代码应该如何?
【问题讨论】:
-
您确实应该在查询中使用参数,而不是在 sql 查询中使用 +。
SqlDataAdapter也可以使用参数,但它可能比你只使用SqlCommand复杂一点 -
谢谢斯科特。我会调查的。我迷失了 C# 中所有与 SQL 相关的方法。
-
只需编辑问题。希望重复的帖子是不同的问题
标签: c# sql connection-string configurationmanager