如何使用sql查询更改列的标识规范?仅使用c#编码。请帮助。 这里我想在下面的代码中创建新表时再添加一列PaperId。 我需要将columns属性指定为标识规范yes和identity increment 1。
if (rbtnEng.Checked == true)
{
con.Open();
char[] arr = new char[] { 'n', 'g', 'l', 'i', 's', 'h' };
string str = "CREATE TABLE " + Label1.Text.Trim() + txtpaperset.Text.Trim()
+ rbtnEng.Text.TrimEnd(arr) + "(" + "quesNo int NOT NULL PRIMARY KEY, "
+ "question varchar(1000) NOT NULL," + "ansA varchar(500) NOT NULL, "
+ "ansB varchar(500) NOT NULL, " + "ansC varchar(500) NOT NULL, "
+ "ansD varchar(500) NOT NULL, " + "rightAns varchar(50) NOT NULL " + ")";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
Label2.Text = Label1.Text + txtpaperset.Text + rbtnEng.Text.TrimEnd(arr);
lblerrormsg.Text = "PaperSet Created Sucessfully!";
txtpaperset.ReadOnly = true;
btnpaper.Enabled = false;
rbtnEng.Enabled = false;
rbtnMar.Enabled = false;
UpdatePanel2.Visible = true;
txtQuestNo.Text = Convert.ToString(1);
con.Close();
}
else if....
答案 0 :(得分:2)
首先,这很糟糕。不要添加这么多的字符串;使用string.Format()
。
string str = string.Format("CREATE TABLE {0}{1}{2} ("
+ "quesNo int NOT NULL PRIMARY KEY, question varchar(1000) NOT NULL, "
+ "ansA varchar(500) NOT NULL, ansB varchar(500) NOT NULL, "
+ "ansC varchar(500) NOT NULL, ansD varchar(500) NOT NULL, " +
+ "rightAns varchar(50) NOT NULL )",
Label1.Text.Trim(),
txtpaperset.Text.Trim(),
rbtnEng.Text.TrimEnd(arr));
但这只是我的意见。
Here's how to create an identity column
PaperId int identity(1,1)
只需将其添加到您的str
字符串。
答案 1 :(得分:1)
如果您只需要在创建表脚本中添加标识列,那么这是一个示例:
create table Data
(
Id int identity(1,1) NOT NULL
)