C#中带有变量tablename的create table命令中的语法错误 [英] syntax error in create table command with variable tablename in c#
本文介绍了C#中带有变量tablename的create table命令中的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
我必须执行各种sql查询,但是我的表名存储在一个变量中.我在创建表命令时遇到问题.
我尝试了2种不同的方法,但是都显示语法错误.
在这里,con
是oledbconnection
. ninp_tab_name
和nout_tab_name
是变量名,Input和Output是要复制其架构的表.
代码1:
Hello,
I have to execute various sql queries but my table name is stored in a variable. I am having problem in create table command.
I tried 2 different methods,but both are showing syntax error.
Here, con
is oledbconnection
. ninp_tab_name
and nout_tab_name
are variable names, Input and Output are tables whose schema I want to copy.
code1:
string new_intb_comm = "CREATE TABLE"+ninp_tab_name+""+"AS SELECT * FROM Input WHERE 1=2";
OleDbCommand cmn = new OleDbCommand(new_intb_comm, con);
cmn.ExecuteNonQuery();
代码2:
code 2:
string new_outb_comm = "CREATE TABLE @out_table AS SELECT * FROM Output WHERE 1=2";
OleDbCommand cmo = new OleDbCommand(new_outb_comm, con);
cmo.Parameters.AddWithValue("@out_table", nout_tab_name);
cmo.ExecuteNonQuery();
请尽快提供帮助.
Please help asap.
推荐答案
在create table
之后和as
之前缺少空格的问题:
字符串new_intb_comm =创建表" + ninp_tab_name +"AS(SELECT * FROM Input WHERE 1 = 2)";
OleDbCommand cmn =新的OleDbCommand(new_intb_comm,con);
cmn.ExecuteNonQuery();
我已将包含select语句的括号放在其中.
Issue with lack of spaces aftercreate table
and beforeas
:
string new_intb_comm = "CREATE TABLE "+ninp_tab_name+ " AS (SELECT * FROM Input WHERE 1=2)";
OleDbCommand cmn = new OleDbCommand(new_intb_comm, con);
cmn.ExecuteNonQuery();
I have put the parenthesis that contain the select statement.
这篇关于C#中带有变量tablename的create table命令中的语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文