【发布时间】:2019-05-19 23:33:01
【问题描述】:
我试图直接在我的一个 SQL 字符串字段中传递一个变量,但我没有找到正确的语法。
我尝试使用“{variable}”或“@variable”,但是当我将它提供给我的软件时,它会像字符串一样显示它!
我的函数正在获取 SQL 字符串(它正在工作)
public List<Dare> getDares()
{
if (myDataSet.Tables["TousLesGages"] != null)
{
myDataSet.Tables["TousLesGages"].Clear();
}
List<Dare> dares = new List<Dare>();
connect();
query = "SELECT * FROM Dare";
mySqlCommand.CommandText = query;
myDataAdapter.SelectCommand = mySqlCommand;
myDataAdapter.Fill(myDataSet, "TousLesGages");
foreach (DataRow row in myDataSet.Tables["TousLesGages"].Rows)
{
Dare dare = new Dare((int)row.ItemArray[0],
row.ItemArray[1].ToString(),
category.getCategoryById((int)row.ItemArray[2]),
type.getTypeById((int)row.ItemArray[3]),
null);
dares.Add(dare);
}
return dares;
}
我如何显示它:
gage = dare.getDares()[rndGage.Next(0, dare.getDares().Count)];
lblDare.Text = gage.text;
我希望 {drink} 的输出是 1 到 5 之间的整数理解(我已经创建了 Random 对象来允许它,顺便说一下,它的名字是“drink”)
【问题讨论】:
-
我看不到您将包含 {drink} 的文本链接到您提供的代码的任何地方。这应该是参数化查询吗?很难看出你想要实现什么。
-
您正在存储和检索包含内容占位符的数据。检索数据后,您需要在应用程序中显示内容之前解释占位符。数据库不会这样做。找一个可以做到这一点的库或自己实现它。