【发布时间】:2017-07-16 19:14:55
【问题描述】:
我尝试编写一个代码来计算 MySQL 中的行数,与组合框选择的文本相同。 例如,在我的 MySQL 数据库中,我有一个表(ogrencikayit),在这个表中我有几个列。在我的组合框中有 2 个不同的选项可以选择学生班级。当用户在组合框中选择班级时,标签必须显示所选班级的学生总数。这是我的代码;
DB database = new DB();
int kayitsayisi = -1;
MySqlCommand cmd = new MySqlCommand("Select count(*) from ogrencikayit Where ogrsinif ="+comboBox3.Text.ToUpper()+"" , database.baglanti);
database.baglanti.Open();
kayitsayisi = Convert.ToInt32(cmd.ExecuteScalar());
string kayitt = kayitsayisi.ToString();
label24.Text = kayitt;
很快;我尝试找到一个代码,它将从组合框中读取班级名称的名称,而不是在数据库中搜索有多少学生属于该班级并将其显示在标签上。
【问题讨论】:
-
那么这里的问题是什么?
-
问题是代码不起作用。它在 where 子句中显示 Invalid column "class name"。
-
通过paramerization 创建查询,而不是通过串联。对于初学者,您将避免这样的格式问题。否则,您会向 world of pain 敞开大门,包括 SQL 注入。
-
您的类型错误我认为...这将解决您的问题并使其更安全msdn.microsoft.com/en-us/library/…