यहां मैं डेटाबेस में गतिशील रूप से तालिका बना रहा हूं। उपयोगकर्ता नाम की इच्छा के रूप में नाम दर्ज करता है और भाषा रेडियोधटन का चयन करता है। तो समस्या है cmd.ExecuteNonQuery के निष्पादन के बाद समस्या है I integer का मान -1 से -1 जा रहा है और दिखाता है कि तालिका नहीं बनाई जा सकती है, लेकिन जब मैं डेटाबेस पर जाता हूं तो यह पहले से ही सफलतापूर्वक बनाया गया है। कृपया मुझे बताएं कि मैं कहां गलत कर रहा हूं। अग्रिम में Thanx !!cmd.ExecuteNonQuery i integer का मान -1 से 0
protected void btnpaper_Click(object sender, EventArgs e)
{
try
{
string conn = ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString;
SqlConnection con = new SqlConnection(conn);
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);
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
lblerrormsg.Visible = true;
con.Close();
}
else
{
lblerrormsg.Text = "Table Not Created Please Try with Different Name!";
con.Close();
}
}
catch (System.Exception excep)
{
MessageBox.Show(excep.Message);
}
}
क्या यह एसक्यूएल-इंजेक्शन के लिए एक आमंत्रण है? एसक्यूएल-पैरामीटर्स का प्रयोग करें! इसके अलावा, जब आप इसे समाप्त कर लें तो हमेशा एक कनेक्शन बंद करें, 'उपयोग-कथन' का उपयोग करके सर्वोत्तम: '(var con = new SqlConnection (conn) का उपयोग करके {con।खुला(); // ...} '(यह अपवाद के मामले में भी कनेक्शन को बंद कर देगा)। –
@TimSchmelter: मुझे यकीन नहीं है कि डीडीएल के लिए पैरामीटरयुक्त एसक्यूएल काम करता है ... –