sql一直停在看似中途?

时间:2013-10-09 00:18:56

标签: c# sql sql-server sql-server-ce

当我运行我的程序时,sql命令到达table.executenonquery并且只是停止,它加载程序界面而没有其他事情发生?我查看了数据库,但没有添加我需要的表格。这是我的代码:

private void loginForm_Load(object sender, EventArgs e)
    {

        string connectionString = "DataSource=\"Event Control.sdf\"";
        SqlCeEngine en = new SqlCeEngine(connectionString);
        en.CreateDatabase();
        string createTable = "CREATE TABLE Login (userName nvarchar(50), Salt nvarchar(100), Hash nvarchar(100)";
        string connection = "Data Source = Event Control.sdf";
        SqlCeConnection connexion = new SqlCeConnection(connection);
        SqlCeCommand table = new SqlCeCommand(createTable, connexion);
        try
        {
            connexion.Open();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
        table.ExecuteNonQuery();
        connexion.Close();
    }

它到达终点(table.ExecuteNonQuery)并停止。死。还有,我不确定它是执行者还是执行者(不确定区别)但是我已经尝试了两者

谢谢你们

1 个答案:

答案 0 :(得分:1)

您的创建语句失败,因为您缺少结束语

string createTable = "CREATE TABLE Login (userName nvarchar(50), Salt nvarchar(100), Hash nvarchar(100)"

应该是

string createTable = "CREATE TABLE Login (userName nvarchar(50), Salt nvarchar(100), Hash nvarchar(100))"

您的应用程序不会“只是停止”它会抛出一个异常消息“{”解析查询时出错。 [令牌行号= 1,令牌行偏移= 82,令牌错误=)]“}”告诉您确切的问题。

话虽如此,当用户第二次尝试创建已经存在的数据库文件时,这总是会失败。