C# select查询中表的变量名
我想将字符串变量tablename中的表名添加到我的查询中。在c语言中可能吗?我试过下面的方法。但它不起作用。如您所见,我想在分数上设置FROM@tablenameC# select查询中表的变量名,c#,mysql,sql,C#,Mysql,Sql,我想将字符串变量tablename中的表名添加到我的查询中。在c语言中可能吗?我试过下面的方法。但它不起作用。如您所见,我想在分数上设置FROM@tablename 您的查询只是一个字符串,您的值为:通常,数据库库不允许您将参数用于对象名称,而只允许使用值。在这种情况下,您需要手动插入表名。我已经编辑了您的问题,请参见原因: public void tableInsertTest() { MySqlConnection conn = null;
您的查询只是一个字符串,您的值为:通常,数据库库不允许您将参数用于对象名称,而只允许使用值。在这种情况下,您需要手动插入表名。我已经编辑了您的问题,请参见原因:
public void tableInsertTest()
{
MySqlConnection conn = null;
string tablename = "scores";
try
{
conn = new MySqlConnection(cs);
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandTimeout = 90;
cmd.CommandText = (
"INSERT INTO dailyrecords(recorddate, firstname, lastname, score ) " +
"SELECT NOW(), name, lname, score FROM @tablename " );
cmd.Prepare();
cmd.Parameters.AddWithValue("@tablename", tablename);
{
cmd.ExecuteNonQuery();
}
conn.Close();
}
finally
{
if (conn != null)
{
conn.Close();
}
}
return;
}
cmd.CommandText = ("INSERT INTO dailyrecords(recorddate, firstname, lastname, score ) " +
string.Format("SELECT NOW(), name, lname, score FROM {0} ", tablename) );