【发布时间】:2014-09-30 05:32:50
【问题描述】:
鉴于此 C# 代码片段,我如何在 SQL 查询中使用 C# 变量?我知道最好的方法是使用“参数”,我已经看过很多例子,但到目前为止我还不能“把它放在一起”。
...
using MySql.Data.MySqlClient;
public partial class Form1 : Form
{
private string server;
private string database;
private string uid;
private string password;
private MySqlConnection connection;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("127.0.0.1/box3.php");
server = "localhost";
database = "realestate_db";
uid = "root";
password = "";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
MySqlDataAdapter mySqlDataAdapter;
mySqlDataAdapter = new MySqlDataAdapter("SELECT `ID`, `lat` , `long` FROM `house` ", connection); // want to uses a C# variable in this SQL query
DataSet DS = new DataSet();
mySqlDataAdapter.Fill(DS);
dataGridView1.DataSource = DS.Tables[0];
}
....
Thanks.
【问题讨论】:
-
你现在的代码有什么问题?错误信息?意外行为?
-
@eddie_cat 代码不完整。他想知道如何扩展以在 sql 字符串的 where 子句中包含类似过滤器的内容,而不会让自己对 sql 注入开放。
-
哎呀,看了一眼,我以为他已经在尝试参数化,只是在让他的代码工作时遇到问题。没看到评论。
-
@Bearcat9425 我同意这可能是重复的,但让我们找到一个不同的问题作为原始问题使用。 AddWithValue() 方法不是你的朋友。