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;
。