如何使用sqlite和c#从表查询列数据?
我使用数据库浏览器创建一个名为users.db
的数据库,然后我手动创建了该数据库中的名为用户
的表,并创建了一些我可能需要从C#查询的字段。代码。我正在使用库sqlite来做到这一点。如何从用户表的电子邮件列中查询数据,这是我尝试使用电子邮件作为查询参数获取密码数据的内容?
try
{
SQLiteConnection conn = new SQLiteConnection("users.db");
//get the email entered into the text box by the user
string email = textBox1.Text;
//define the command text to run on the table
string query = "SELECT password FROM users WHERE email=" + email;
//define a new SQLiteCommand
SQLiteCommand command = new SQLiteCommand(conn);
//modify the query text of the command object
command.CommandText = query;
//how do I extract data from the returned row using command.executequery?
var data = command.ExecuteQuery<TableMapping>();
if (data != null)
{
//fetch the rows, except that SQLite throws an exception that I should not use TableMapping to query data
}
}catch(SQLiteException exc){
Console.WriteLine(exc.Message);
}
I used DB Browser to create a database called Users.db
and then I manually created a table called Users
in that database and created some fields that I might need to query from C# code. I am using the library SQLite to do this. How do I query data from the email column of the users table, here is what I tried to get the password data using email as a query parameter?
try
{
SQLiteConnection conn = new SQLiteConnection("users.db");
//get the email entered into the text box by the user
string email = textBox1.Text;
//define the command text to run on the table
string query = "SELECT password FROM users WHERE email=" + email;
//define a new SQLiteCommand
SQLiteCommand command = new SQLiteCommand(conn);
//modify the query text of the command object
command.CommandText = query;
//how do I extract data from the returned row using command.executequery?
var data = command.ExecuteQuery<TableMapping>();
if (data != null)
{
//fetch the rows, except that SQLite throws an exception that I should not use TableMapping to query data
}
}catch(SQLiteException exc){
Console.WriteLine(exc.Message);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在这里有许多问题:
TableMapping
在这里无关紧要,除非您要自定义映射到类。为此,您将不使用executeQuery&lt; tablemapping&gt;
executeQuery&lt; string&gt;
,它将返回list&lt; string&lt; string&gt;
。电子邮件
是唯一的,则可以使用executesCalar
返回单个值。You have a number of issues here:
TableMapping
is not relevant here unless you want a custom mapping to a class. And for that you would not useExecuteQuery<TableMapping>
ExecuteQuery<string>
which will return aList<string>
.email
is unique, you can just useExecuteScalar
which returns a single value.using
blocks to dispose the connection and command.