0

SQLクエリを使用して列のID仕様を変更するには? C# コーディングのみを使用します。助けてください。 ここでは、次のコードで新しいテーブルを作成するときに、PaperId としてもう 1 つの列を追加したいと考えています。列プロパティを識別仕様 yes および識別インクリメント 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....
4

2 に答える 2

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

しかし、それは私の意見です。

ID 列を作成する方法は次のとおりです。

PaperId int identity(1,1)

それを文字列に追加するだけstrです。

于 2012-08-03T21:24:07.293 に答える
1

create table スクリプトに ID 列を追加する必要がある場合は、次の例を参照してください。

create table Data
(
Id int identity(1,1) NOT NULL
)
于 2012-08-03T21:23:07.073 に答える