Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';这段代码难道不能组成一张表格吗?_C#_Sqlite - Fatal编程技术网

C# 为什么';这段代码难道不能组成一张表格吗?

C# 为什么';这段代码难道不能组成一张表格吗?,c#,sqlite,C#,Sqlite,我不熟悉使用c#和sqlite 为什么这个代码不起作用。 我试过有点不同。但是没有成功 private void button1_Click(object sender, EventArgs e) { using (SQLiteConnection con = new SQLiteConnection(connectionString)) { con.Open(); try {

我不熟悉使用c#和sqlite

为什么这个代码不起作用。 我试过有点不同。但是没有成功

    private void button1_Click(object sender, EventArgs e)
    {
        using (SQLiteConnection con = new SQLiteConnection(connectionString))
        {
            con.Open();
            try
            {
                SQLiteCommand cmd = new SQLiteCommand();
                const string createTableQuery = @"CREATE TABLE User userName NOT NULL varchar(40), passWord NOT NULL varchar(40))";
                cmd.CommandText = createTableQuery;
                cmd.ExecuteNonQuery();

                int i = cmd.ExecuteNonQuery();

                if (i == 1)
                {
                    MessageBox.Show("Table created");
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            } 
        }

    }

您应该执行该命令

private void button1_Click(object sender, EventArgs e)
{
    using (SQLiteConnection con = new SQLiteConnection(connectionString))
    {
        try
        {
            string createTableQuery = @"CREATE TABLE User (userName NOTNULL varchar(40), passWord NOTNULL varchar(40))";
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = createTableQuery;
            cmd.ExecuteNonQuery();//Here
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }  
    }

}

您应该执行该命令

private void button1_Click(object sender, EventArgs e)
{
    using (SQLiteConnection con = new SQLiteConnection(connectionString))
    {
        try
        {
            string createTableQuery = @"CREATE TABLE User (userName NOTNULL varchar(40), passWord NOTNULL varchar(40))";
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = createTableQuery;
            cmd.ExecuteNonQuery();//Here
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }  
    }

}

代码在某种意义上是工作的,它确实做了它看起来应该做的事情。问题是您从未实际运行过任何查询。你只是写了一封信,却从来没有把它放进邮箱,然后想知道为什么它从来没有到达收件人


SQLiteCommand
类有一个名为
ExecuteNonQuery()
的方法,您需要调用该方法,以便实际发生任何事情。

代码的工作方式与它看起来应该做的完全一样。问题是您从未实际运行过任何查询。你只是写了一封信,却从来没有把它放进邮箱,然后想知道为什么它从来没有到达收件人

SQLiteCommand
类有一个名为
ExecuteNonQuery()
的方法,您需要调用该方法才能实际执行任何操作。

执行您的命令:

try
        {
            string createTableQuery = @"CREATE TABLE User (userName NOTNULL varchar(40), passWord NOTNULL varchar(40))";
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = createTableQuery;
            cmd.ExecuteNonQuery();
        }
执行您的命令:

try
        {
            string createTableQuery = @"CREATE TABLE User (userName NOTNULL varchar(40), passWord NOTNULL varchar(40))";
            SQLiteCommand cmd = new SQLiteCommand();
            cmd.CommandText = createTableQuery;
            cmd.ExecuteNonQuery();
        }
您的查询是错误的:

    string createTableQuery = @"CREATE TABLE User (userName NOTNULL 
varchar(40), passWord NOTNULL varchar(40))";
它应该是
NOTNULL
和NOT
NOTNULL

    string createTableQuery = @"CREATE TABLE User (userName NOT NULL
 varchar(40), passWord NOT NULL varchar(40))";
然后打电话:

    cmd.ExecuteNonQuery();
之后:

cmd.CommandText = createTableQuery;
您的查询是错误的:

    string createTableQuery = @"CREATE TABLE User (userName NOTNULL 
varchar(40), passWord NOTNULL varchar(40))";
它应该是
NOTNULL
和NOT
NOTNULL

    string createTableQuery = @"CREATE TABLE User (userName NOT NULL
 varchar(40), passWord NOT NULL varchar(40))";
然后打电话:

    cmd.ExecuteNonQuery();
之后:

cmd.CommandText = createTableQuery;

您是否收到错误,或者它的行为与您预期的不一样?上次编辑后,在
User
userName
之间缺少一个左括号。此外,还可以执行两次该命令。第二次执行在任何情况下都会失败。我更改了它,但它仍然表示没有与此命令关联的连接。您是否收到错误,或者它的行为与您预期的不一样?在上次编辑后,您在
用户
用户名
之间缺少一个左括号。此外,还可以执行两次该命令。第二次执行无论如何都会失败。我更改了它,但它仍然表示没有与此命令关联的连接。我还不知道。星期一我可以在我的电脑上试用。我会告诉你的。这样不行。再需要你的建议一次:)我还不知道。星期一我可以在我的电脑上试用。我会告诉你的。这样不行。需要你再提一次建议:)