Я новичок в SQLite, и я пытаюсь прочитать последнюю последнюю строку из файла базы данных SQLite и терпеть неудачу в массовом порядке.Проблемы с получением последней строки из базы данных SQLite
Я могу установить соединение и получить строки, но я понятия не имею, как получить данные из строк.
У меня есть таблица, которая называется «Шахта», как:
****************************************
id | name | age | time | task
0 | tommy| 23 | [time]| went to shops
****************************************
Я пытаюсь получить данные из последней строки колонки задачи, которая имеет тип String.
Но:
- Я не знаю, как читать данные из строки в 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();
}
}
}
Что я делаю не так? Как я могу получить данные из последней строки?
Спасибо @gzaxx, работает отлично! Кстати, что такое 'desc'? – uSeRnAmEhAhAhAhAhA
'desc' является ярлыком для' убывания' и означает заказать 'id' с наибольшего значения до самого низкого :) – gzaxx
спасибо! По какой-то причине я думал, что desc означает «описание», следовательно, легкая путаница: P lol – uSeRnAmEhAhAhAhAhA