直接用C#执行SQL查询
问题:
当前系统禁止执行利用 SQLCMD.exe 的批处理文件,需要使用替代方法C#.
解决方案:
利用 SqlCommand 类:
要直接从 C# 执行 SQL 查询,您可以使用SqlCommand 类。该类使您能够构造和执行参数化 SQL 命令,从而避免注入攻击。
示例代码:
以下示例代码演示了如何将 SqlCommand 与参数化 SQL 结合使用:
string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName"; string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"]));// etc } } finally { reader.Close(); } }
此代码连接到指定的 SQL Server 实例并打开连接。然后,它使用参数化 SQL 查询创建一个 SqlCommand 对象,并将相关参数添加到命令中。打开连接,执行查询,并使用 SqlDataReader 对象检索结果。
请注意,实际应用中应实现错误处理和连接关闭。
以上是如何在不使用 SQLCMD.exe 的情况下直接在 C# 中执行 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!