C# 为什么';这段代码难道不能组成一张表格吗?
我不熟悉使用c#和sqlite 为什么这个代码不起作用。 我试过有点不同。但是没有成功C# 为什么';这段代码难道不能组成一张表格吗?,c#,sqlite,C#,Sqlite,我不熟悉使用c#和sqlite 为什么这个代码不起作用。 我试过有点不同。但是没有成功 private void button1_Click(object sender, EventArgs e) { using (SQLiteConnection con = new SQLiteConnection(connectionString)) { con.Open(); try {
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
和NOTNOTNULL
:
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
和NOTNOTNULL
:
string createTableQuery = @"CREATE TABLE User (userName NOT NULL
varchar(40), passWord NOT NULL varchar(40))";
然后打电话:
cmd.ExecuteNonQuery();
之后:
cmd.CommandText = createTableQuery;
您是否收到错误,或者它的行为与您预期的不一样?上次编辑后,在
User
和userName
之间缺少一个左括号。此外,还可以执行两次该命令。第二次执行在任何情况下都会失败。我更改了它,但它仍然表示没有与此命令关联的连接。您是否收到错误,或者它的行为与您预期的不一样?在上次编辑后,您在用户
和用户名
之间缺少一个左括号。此外,还可以执行两次该命令。第二次执行无论如何都会失败。我更改了它,但它仍然表示没有与此命令关联的连接。我还不知道。星期一我可以在我的电脑上试用。我会告诉你的。这样不行。再需要你的建议一次:)我还不知道。星期一我可以在我的电脑上试用。我会告诉你的。这样不行。需要你再提一次建议:)