私は SQLite を初めて使用し、SQLite データベース ファイルから最後の最後の行を読み込もうとしていますが、大量に失敗しています。
接続を正常に確立して行を取得できますが、行からデータを取得する方法がわかりません。
次のような「Mine」というテーブルがあります。
****************************************
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();
}
}
}
私は何を間違っていますか?最後の行からデータを取得するにはどうすればよいですか?