gpt4 book ai didi

c# - MySql查询不显示结果

转载 作者:行者123 更新时间:2023-11-29 23:57:09 27 4
gpt4 key购买 nike

我有一个字符串,其值如下:a、b、c、d、e

这个想法是使用 sql 命令来搜索数组中的条目。sql是:

select * from pelates where Onoma in (@giorti)

我将 a,b,c,d,e 转换为 'a','b','c','d','e' 然后用之前的字符串替换 @giorti 值来填充数据 GridView 。问题是 datagridview 保持为空,除非我编辑 sql 语句并手动给出一个值,例如:

select * from pelates where Onoma in ('Bampis')

如果我这样做,结果就会像正常一样。请建议,我认为存在编码问题,因为数据是希腊语这是我的代码:

 //Diaxorismos onomaton pou giortazoun

String giorti = label2.Text;
String[] name = giorti.Split(',');

for (int i = 0; i < name.Length; i++)
{
StringBuilder sb = new StringBuilder(name[i]);
sb.Insert(0, "'");
sb.Append("'");
name[i] = sb.ToString();
name[i] = name[i];
}

String finalName = String.Join(",", name);
finalName = finalName.Replace(" ", "");
textBox1.Text = finalName;
//


showPelatesPouGiortazounCommand = login.connection.CreateCommand();
showPelatesPouGiortazounCommand.CommandText = "select * from pelates where Onoma in (@giorti)";
showPelatesPouGiortazounCommand.Parameters.AddWithValue("@giorti", System.Text.Encoding.UTF8.GetBytes(finalName));
getPelatesPouGiortazounAdapter = new MySqlDataAdapter(showPelatesPouGiortazounCommand);
pelatesPouGiortazounDataset = new DataSet();
getPelatesPouGiortazounAdapter.Fill(pelatesPouGiortazounDataset);
dataGridView1.DataSource = pelatesPouGiortazounDataset.Tables[0].DefaultView;

最佳答案

使用FIND_IN_SET函数在逗号分隔的列表中搜索,
或者准备并绑定(bind)与字符串中的值一样多的参数。

select * from pelates where FIND_IN_SET(Onoma, @giorti)

http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_find-in-set

关于c# - MySql查询不显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25268546/

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