c# - 如何将变量中的数字插入到sql数据库中?
问题描述
我想做一个函数,它将生成带有 6 个随机数的乐透票,然后插入数据库。如果我写像 2, 10, 23... 之类的数字,则可以并执行查询,但是如果我写像 lotto[0],lotto[1]... 之类的名称变量,程序会抛出错误。谢谢你的帮助。
private void button1_Click(object sender, EventArgs e)
{
int check = 0;
int[] lotto = new int[6];
Random rand = new Random();
for (int i = 0; i < lotto.Length;)
{
check = rand.Next(1, 49);
if (!lotto.Contains(check))
{
lotto[i] = check;
i++;
}
}
string insertQuery = "INSERT INTO kupony VALUES(NULL, 1, lotto[0], lotto[1], lotto[2], lotto[3], lotto[4], lotto[5], -1, '2018-04-25', -1)";
connection.Open();
MySqlCommand command = new MySqlCommand(insertQuery, connection);
try
{
if (command.ExecuteNonQuery() == 1)
{
//MessageBox.Show("Data Inserted");
}
else
{
//MessageBox.Show("Data Not Inserted");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
connection.Close();
}
解决方案
我建议您使用Parameters
如下 SQL 命令:
string query = "INSERT INTO test_table (column1, column2) VALUES (?column1,?column2);";
cn.Open();
using (MySqlCommand cmd = new MySqlCommand(query, cn))
{
cmd.Parameters.Add("?column1", MySqlDbType.Int32).Value = 123;
cmd.Parameters.Add("?column2", MySqlDbType.VarChar).Value = "Test";
cmd.ExecuteNonQuery();
}
推荐阅读
- sql-server - 根据值过滤列并获取计数
- java - 为什么我的字符串数组长度是 3 而不是 2?
- rest - RESTCONF 中的 POST/PUT/PATCH 列表和叶子列表是否合法?
- php - 使用 GET 变量(使用 htaccess)将文件夹中的所有链接重定向到 index.php?
- bigdata - 数据流:交叉连接中的热键
- react-native - 对于未弹出的expo应用程序,如何在后台进行位置跟踪(如果位置频繁更改,则定期进行)以防止应用程序被杀死?
- ansible - 根据其他变量设置 ansible 变量。其他语言的 if/else 等价物
- regex - 根据同一文件夹中的部分文件名匹配重命名文件名的子字符串
- wpf - 如何在 Fluent.Ribbon 中使用 ApplicationCommands?
- java - 如何动态扩展 Kafka 流处理?