C# 构造参数查询 SQL - LIKE %

sqlserver

1个回答

写回答

Lelexiong

2025-07-10 08:00

+ 关注

AI
AI

使用C#构造参数查询SQL-LIKE%的方法

在C#中,我们经常需要使用参数化查询来执行SQL语句,以防止SQL注入攻击和提高查询性能。当我们需要使用LIKE运算符进行模糊查询时,我们可以使用参数化查询来构造SQL-LIKE%。本文将介绍如何在C#中使用参数化查询构造SQL-LIKE%以及一个简单的案例代码。

案例代码:

首先,我们需要创建一个数据库连接对象和一个SQL查询语句。在示例中,我们将使用SQLite数据库和一个名为"Person"的表来演示。

csharp

using System;

using System.Data.SQLite;

class Program

{

static void MAIn()

{

string connectionString = "Data Source=Database.db;Version=3;";

using (SQLiteConnection connection = new SQLiteConnection(connectionString))

{

connection.Open();

string query = "SELECT * FROM Person WHERE Name LIKE @name";

using (SQLiteCommand command = new SQLiteCommand(query, connection))

{

string name = "%John"; // 模糊查询的参数值

command.Parameters.AddWithValue("@name", name);

using (SQLiteDataReader reader = command.ExecuteReader())

{

while (reader.Read())

{

string personName = reader["Name"].ToString();

Console.WriteLine(personName);

}

}

}

connection.Close();

}

}

}

在上面的代码中,我们首先创建了一个SQLite连接对象,并打开连接。然后,我们定义了一个SQL查询语句,其中使用了参数化查询语法。查询语句中的@name是一个占位符,我们可以在后面使用参数对象来替换它。

接下来,我们创建了一个SQLiteCommand对象,并将查询语句和连接对象传递给它。然后,我们使用Parameters属性来添加一个参数,参数名为@name,值为"%John",表示我们要查询名字中包含"John"的人。

最后,我们使用ExecuteReader方法来执行查询,并使用SQLiteDataReader对象来读取查询结果。在这个简单的例子中,我们只是将查询到的人的名字输出到控制台。

使用参数化查询的好处

参数化查询是一种安全且高效的执行SQL查询的方法。它可以防止SQL注入攻击,因为参数值会被自动转义,从而避免了恶意用户在参数值中插入恶意的SQL代码。

此外,参数化查询还可以提高查询性能。当我们使用参数化查询时,数据库可以缓存已编译的查询计划,以便在后续的查询中重复使用。这样可以减少数据库服务器的负载,并提高查询的执行速度。

本文介绍了如何在C#中使用参数化查询构造SQL-LIKE%的方法,并提供了一个简单的案例代码。通过使用参数化查询,我们可以安全地执行模糊查询,并提高查询的性能。希望本文对您有所帮助,谢谢阅读!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号