-3

我正在从文本框中检索 AppName。

string AppName = TextBox1.Text;  

现在我想创建一个数据库,其名称将从文本框中检索,即 AppName

string Text = "create database AppName";  
MySqlCommand cmd = new MySqlCommand(Text,Connection);  

但上面的代码正在创建名为 AppName 的数据库,但不是用户输入的名称。

4

2 回答 2

0

您没有在 SQL 查询中使用实际值,而是每次都使用相同的文字字符串:

"create database AppName"

相反,您需要合并输入的实际值。我不是 100% 熟悉 MySQL 语法或查询对象,但一般来说它看起来像这样:

string appName = TextBox1.Text;
string commandText = "CREATE DATABASE @DBName";
using (MySqlCommand cmd = new MySqlCommand(commandText, connection))
{
    cmd.Parameters.Add("@DBName", System.Data.SqlDbType.NVarChar, 50);
    cmd.Parameters["@DBName"].Value = appName;

    cmd.Connection.Open();
    cmd.ExecuteNonQuery();
}

这是徒手代码,因为我没有可用的相关对象。但想法是,您将在查询 () 中创建一个可变参数@TableName,然后在执行查询 () 之前使用所需的运行时值填充该参数cmd.Parameters["@TableName"].Value = appName;

于 2013-03-28T17:41:50.727 回答
0

string Text = "创建数据库" + AppName;

于 2013-03-28T17:30:12.990 回答