2011-03-21 48 views
0

你好吗,先生,我的代码是正确的,意味着调试代码后没有错误。我的目标是,如果用户点击按钮(这是默认的。 aspx),那么数据库表就会在数据库(放在sql express中的数据库)中创建,我为此编写代码,我们调试代码并且代码中没有错误。当我单击按钮时(在运行时) 。当我检查数据库(这是在SQL Express的),没有表在database.please先生创建解决我写在后面的按钮的C#代码problem.The是:代码没有问题,但输出没什么问题

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
//using PractiseWeb.DataSet1TableAdapters; 
using System.Collections.Generic; 
using System.Data.OleDb; 
using System.Diagnostics; 
using System.ComponentModel; 
using System.Text; 
using System.Data.SqlClient; 
using System.Data.Odbc; 
using ADOX; 
using ADODB; 

public partial class _Default : System.Web.UI.Page 
{ 
    SqlConnection conn; 
    SqlCommand cmd; 
    string connectionString = ConfigurationManager.ConnectionStrings["gameConnectionString"].ConnectionString; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
    try 
    { 
     conn = new SqlConnection(connectionString); 
     if (!(conn.State == ConnectionState.Open)) 
     { 
     conn.Open(); 
     } 
     string sql = "CREATE TABLE mySchoolRecord(StudentId INTEGER CONSTRAINT PkeyMyId PRIMARY KEY, Name CHAR(50)," + "Address CHAR(255)," + "Contact INTEGER));"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (1, 'Mr. Manish', " + " 'Sector-12,Noida', 2447658 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (2, 'Mr. Ravi', " + " 'New Delhi', 2584076521 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (3, 'Mr. Peter', " + " 'United States', 25684124 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 


     if (conn.State == ConnectionState.Open) 
     { 
     conn.Close(); 
     } 

    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex); 
    } 

    } 
} 

THANKS SIR

+0

请编辑您的问题。为你的代码添加“代码”格式 – zabulus 2011-03-21 05:57:58

+0

你可以复制你的sql并直接粘贴到sqlserver上,看看它是否创建?在调试时对异常进行中断,它会告诉你代码中是否有任何异常。 – kobe 2011-03-21 05:59:38

+0

说“代码中没有问题”是......奇怪。 99%的时间,问题在于我们自己的代码... – 2011-03-21 06:09:15

回答

1

删除try-catch并查看发生了什么。写入控制台在ASP.NET应用程序中帮助不大。 :)

using System; 
using System.Data; 
using System.Data.SqlClient; 

public partial class _Default : System.Web.UI.Page 
{ 
    SqlConnection conn; 
    SqlCommand cmd; 
    string connectionString = ConfigurationManager.ConnectionStrings["gameConnectionString"].ConnectionString; 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
    using (conn = new SqlConnection(connectionString)) 
    { 
     if (!(conn.State == ConnectionState.Open)) 
     { 
     conn.Open(); 
     } 
     string sql = "CREATE TABLE mySchoolRecord(StudentId INTEGER CONSTRAINT PkeyMyId PRIMARY KEY, Name CHAR(50)," + "Address CHAR(255)," + "Contact INTEGER));"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (1, 'Mr. Manish', " + " 'Sector-12,Noida', 2447658 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (2, 'Mr. Ravi', " + " 'New Delhi', 2584076521 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     sql = "INSERT INTO mySchoolRecord (StudentId, Name,Address,Contact) VALUES (3, 'Mr. Peter', " + " 'United States', 25684124 );"; 
     cmd = new SqlCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     if (conn.State == ConnectionState.Open) 
     { 
     conn.Close(); 
     } 
    } 
    } 
} 
0

@sayyer,

按照以下步骤 1)你可以复制你的SQL和粘贴SQLSERVER直接,看看它是否建立或不?不休息的异常而debuggin,它会告诉你,如果有代码

2任何异常)检查您的数据库连接

3)检查所有格式化的INSERT语句。要解决这个问题

最好的办法是做CTR + ALT + E和检查异常打破,这将解决您的问题

0

尝试从SQL查询删除分号。