我的 sqlite select 命令有什么问题?

问题描述 投票:0回答:1

我正在制作一个学校项目,在用 c# 制作 sqlite select 命令时遇到了问题。它不是返回 select 查询的值,而是返回 system.Data.Sqlite.SqliteDataAdapter 。有人知道这是为什么吗?

总的来说,我对编码还很陌生,所以请耐心等待,先谢谢你!

这是我的代码

public string SelectSingleData(string table, string id, string tableId, string field)
        {
            SQLiteDataAdapter ad;
            string query = $"SELECT {field} FROM {table} WHERE {tableId} = {id} limit 1;";
            string result = null;
            var dataSet = new DataSet();
            try
            {
                SQLiteCommand cmd;
                sqlite.Open();
                cmd = sqlite.CreateCommand();
                cmd.CommandText = query;
                ad = new SQLiteDataAdapter(cmd);
                result = ad.ToString();
            }
            catch (SQLiteException ex)
            {
                System.Windows.MessageBox.Show($"{ex}");
            }
            sqlite.Close();
            return result;
        }

这就是我调用代码的方式:

con.Connect();
lblName.Content = con.SelectSingleData("character_sheet","1","char_id","name");

这就是错误 Image of the label where the error is happening

我期望代码返回选择查询的值,但它返回的是这个。

c# wpf sqlite
1个回答
0
投票

这是我用来定义变量的代码,它们被传递到我需要它们的地方

 public partial class frmCRUD : Form
{
    public static string dbName = "Contacts.db";
    private string result;
    public string fn { get; set; }
    public string ln { get; set; }
    public string ad { get; set; }
    public string ct { get; set; }
    public string st { get; set; }
    public string zp { get; set; }
    public string ph { get; set; }
    public string em { get; set; }
    public string rt { get; set; }

这是我的 SELECT 语句,我在另一种表单上调用 readUDV 您可以将所有这些代码保留在一个表单上

       public void readUDV()
    {
        using (SQLiteConnection conn = new SQLiteConnection($"Data Source = '{dbName}';Version=3;"))
        {
            conn.Open();
            using (SQLiteCommand cmd = new SQLiteCommand($"SELECT * FROM FriendsData WHERE FID = " + newData, conn))
            {
                using (var rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        fn = rdr["fxFirstName"].ToString().Trim();
                        ln = rdr["fxLastName"].ToString().Trim();
                        ad = rdr["fxAddress"].ToString().Trim();
                        ct = rdr["fxCity"].ToString().Trim();
                        st = rdr["fxState"].ToString().Trim();
                        zp = rdr["fxZip"].ToString().Trim();
                        ph = rdr["fxCellPhone"].ToString().Trim();
                        em = rdr["fxEmail"].ToString().Trim();
                        rt = rdr["fxInfo"].ToString().Trim();
                    }
                }
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.