我试图直接在我的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”)
答案 0 :(得分:0)
好的,我找到了一种无需使用库即可实现的方法。您只能对字符串使用字符串插值,而不能对变量使用字符串,例如:
string name = "John";
string result = $"{name}";
但是!取而代之的是,我使用了string.Format()函数:
// gage.Text is a string containing "bla bla {0} bla"
// drink is an integer between 1 and 5
lblDare.Text = string.Format(gage.text, drink);
我希望它将对人们有所帮助! :)