-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"

代わりに、入力されている実際の値を組み込む必要があります。私は MySQL の構文やクエリ オブジェクトに 100% 精通しているわけではありませんが、一般的には次のようになります。

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 に答える