我正在用 C# 学习 SQLite 数据库。我需要帮助。如何进行检查 - 当没有列时(例如, with login,然后 output label1.text = "Такого пользователь нету!")
public Form1()
{
InitializeComponent();
if (!File.Exists(@"F:\c#Learn\DataBaseAndUILearn\logining\login\login\logins.db"))
{
SQLiteConnection.CreateFile(@"F:\c#Learn\DataBaseAndUILearn\logining\login\login\logins.db");
}
using (SQLiteConnection Connect = new SQLiteConnection(@"Data Source = F:\c#Learn\DataBaseAndUILearn\logining\login\login\logins.db"))
{
string commandDb = "CREATE TABLE IF NOT EXISTS [user](" +
"[login] TEXT," +
"[password] TEXT)";
SQLiteCommand command = new SQLiteCommand(commandDb, Connect);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
private void button1_Click(object sender, EventArgs e)
{
string logins = $"SELECT [login] FROM [user] WHERE [login] = '{loginInput.Text}'";
using (SQLiteConnection Connect = new SQLiteConnection(@"Data Source = F:\c#Learn\DataBaseAndUILearn\logining\login\login\logins.db"))
{
SQLiteCommand command = new SQLiteCommand(logins, Connect);
command.Connection.Open();
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
label1.Text = "Добро пожаловать," + reader.GetString(0);
}
}
}
UPD
private void button1_Click(object sender, EventArgs e)
{
string logins = $"SELECT [login] FROM [user] WHERE [login] = '{loginInput.Text}'";
using (SQLiteConnection Connect = new SQLiteConnection(@"Data Source = F:\c#Learn\DataBaseAndUILearn\logining\login\login\logins.db"))
{
SQLiteCommand command = new SQLiteCommand(logins, Connect);
command.Connection.Open();
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string userName = reader.GetString(0);
label1.Text = userName;
if (userName == null)
{
label1.Text = "test";
}
else
{
label1.Text = "Добро пожаловать," + reader.GetString(0);
}
}
}
}
如果查询没有返回单行,那么它将
reader.Read()返回false这正是您需要检查的。