c# - 从文本框名称创建表格时语法不正确

标签 c# mysql sql

我试图根据 textbox1 中给出的名称创建一个表。我在以下代码中遇到错误:

Incorrect syntax near 'Ramesh'.

此处 Ramesh 是文本框中的值。

string Customername = Textbox1.text 
SqlCommand cmd7 = new SqlCommand("CREATE TABLE '" + CustomerName + "' (ItemCode int,Quantity int,PricePerQuantity int,Brand char(50),Discount int , DateTime datetime)",connection

最佳答案

您的表名不需要单引号。

SqlCommand cmd7 = new SqlCommand("CREATE TABLE " + CustomerName + " (ItemCode int,Quantity int,PricePerQuantity int,Brand char(50),Discount int , DateTime datetime)",connection);

但奇怪的是,不要对 MySQL 使用 SqlCommand。使用 MySqlCommand和相关类。

此外,我会说使用参数化查询,但由于您不能参数化列名称,并且看起来您将其作为输入获取,因此在将其放入您的之前使用强验证或使用白名单查询。

您可以阅读:The BobbyTables culture

关于c# - 从文本框名称创建表格时语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766935/

相关文章:

java - 使用 Oracle SQL Developer 调用存储过程

c# - Selenium ChromeDriver 切换选项卡

mysql - 在 MySQL 中将 mm/dd/yyyy 转换为 MMMM dd, yyyy

php - 获取列集合或字符集类型( latin1_swedish_ci 或 utf8_general_ci )

php - 使用左连接从特定日期选择行

mysql - 如何使用 E/R 图绘制以下数据库模式?

c# - 如何在ImageView上设置阴影效果

c# - 对象.等于 : everything is equal by default

c# - EF Core - 使用 Automapper 从 OData 返回映射的多对多关系

MySQL - 选择中的子查询