C#中带有变量tablename的create table命令中的语法错误 [英] syntax error in create table command with variable tablename in c#

查看:131
本文介绍了C#中带有变量tablename的create table命令中的语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我必须执行各种sql查询,但是我的表名存储在一个变量中.我在创建表命令时遇到问题.

我尝试了2种不同的方法,但是都显示语法错误.

在这里,conoledbconnection. ninp_tab_namenout_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 after create table and before as:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆