gpt4 book ai didi

无法识别 MySql 查询中的 C# 变量

转载 作者:行者123 更新时间:2023-11-29 16:34:04 26 4
gpt4 key购买 nike

我的 C# 代码中有一个 int 变量,我正在尝试在 MySql 查询中使用它。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace projeV1
{

public partial class ProjeDetay : Form
{

public ProjeDetay()
{
InitializeComponent();
}

private void ProjeDetay_Load(object sender, EventArgs e)
{

int satir_projem = Projeler.satir_proje;
string connectionString = "Server = localhost; Port = ...; Database = ...; Uid = root; Pwd = ...; Allow User Variables=True";
MySqlConnection databaseConnection = new MySqlConnection(connectionString);
MySqlCommand command;

databaseConnection.Open();
command = databaseConnection.CreateCommand();

string myQuery = "select projeAdi from projeler where projeID = @satir_projem";
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(myQuery, databaseConnection);
command.Parameters.Add("@satir_projem", MySqlDbType.Int32).Value = satir_projem;

DataSet DS = new DataSet();
dataAdapter.Fill(DS);
dataGridView_ProjeDetay.DataSource = DS.Tables[0];

MessageBox.Show(Projeler.satir_proje.ToString());

MessageBox.Show(satir_projem.ToString());
}
}
}

(抱歉,如果编码方面看起来很困惑,但我是新手 ^^)

MessageBox 窗口正确显示变量值,因此变量没有问题。例如,当我将查询字符串中的@satir_projem替换为“2”之类的数字时(请参见下面的示例),结果是正确的,但是当我在查询中使用@satir_projem时,它不起作用。我看不出我做错了什么。

示例查询字符串:

"select projeAdi from projeler where projeID = 2"

P.S 1:最初,我试图获取 DataGridView 中所选行的索引(即名为 Projeler.satir_proje 的变量),该 DataGridView 用于名为“Projeler”的表单和另一种表单(名为 ProjeDetay) ,将该索引值分配给另一个名为“satir_projem”的变量,并使用该值从我的数据库获取相关数据,并将该数据放入第二个表单中的另一个 DataGridView(称为 dataGridView_ProjeDetay)中。

P.S 2:我对这个问题做了很多研究,并尝试了我一路上遇到的许多解决方案;然而,他们都不适合我。所以,我在这里:)

提前致谢。

最佳答案

您正在为未使用的命令设置参数。相反,您应该使用 DataAdapter.SelectCommand

dataAdapter.SelectCommand.Parameters.Add(...)

关于无法识别 MySql 查询中的 C# 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53719930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com