我是 SQLite 的新手,正在尝试从 SQLite 数据库文件中读取最后一行并大量失败。
我可以成功建立连接并获取行,但我不知道如何从行中获取数据。
我有一个名为“我的”的表,例如:
****************************************
id | name | age | time | task
0 | tommy| 23 | [time]| went to shops
****************************************
我正在尝试从任务列的最后一行获取数据,该列是字符串类型。
但:
- 我不知道如何将一行中的数据读入 C# 字符串,并且;
- 我不知道如何构造 select 语句,以便它只返回最后一行的单个值。
以下是我已经拥有的,主要来自我在网上找到的教程(我还找不到):
namespace MyApp
{
public partial class Form1 : Form
{
private SQLiteConnection sql_con;
private SQLiteCommand sql_cmd;
private SQLiteDataAdapter DB;
private DataSet DS = new DataSet();
private DataTable DT = new DataTable();
public Form1()
{
InitializeComponent();
}
private void SetConnection()
{
string databasePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\MyApp\database.db";
sql_con = new SQLiteConnection
("Data Source=" + databasePath + ";Version=3;");
}
private void ExecuteQuery(string txtQuery)
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = txtQuery;
sql_cmd.ExecuteNonQuery();
sql_con.Close();
}
private void LoadData()
{
bool gotRow = false;
try
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText = "select task from Mine";
DB = new SQLiteDataAdapter(CommandText, sql_con);
DS.Reset();
DB.Fill(DS);
DT = DS.Tables[0];
foreach (DataRow row in DT.Rows)
{
gotRow = true;
}
if (gotRow)
{
MessageBox.Show(row.ToString());
gotRow = false;
}
sql_con.Close();
}
catch(Exception exception)
{
Debug.WriteLine(exception.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
LoadData();
}
}
}
我究竟做错了什么?如何从最后一行获取数据?