【问题标题】:SQLite query - How to read configuration from database in just one query ? Is it possible?SQLite 查询 - 如何在一个查询中从数据库中读取配置?可能吗?
【发布时间】:2022-11-25 03:31:36
【问题描述】:

有人能给我举个例子吗,我如何在一个查询中从数据库中读取配置值?这是我的代码:

        public string ReadString(string Sql)
        {
            using (cmd = new SQLiteCommand(Sql, conn))
            {
                conn.Open();
                object result = cmd.ExecuteScalar();
                conn.Close();
                return (result == null ? "" : result.ToString());
            }            
        }
string ftpHost = DAL.ReadString("SELECT ftpHost FROM Ftp WHERE Id = '1'");
string ftpLogin = DAL.ReadString("SELECT ftpLogin FROM Ftp WHERE Id = '1'");
string ftpPassword = DAL.ReadString("SELECT ftpPassword FROM Ftp WHERE Id = '1'");
string ftpSerialPath = DAL.ReadString("SELECT ftpSerialPath FROM Ftp WHERE Id = '1'");
//Need only one query to use it in FtpClient                    
FtpClient client = new FtpClient(ftpHost, ftpLogin, ftpPassword);

我试图在 stackoverflow 上找到一些示例,但找不到。

【问题讨论】:

  • Dapper + 模型类 + 查询 ... 或学习 ADO.NET 的基础知识(IDataReader 或填充 DataTable)
  • 为什么它有+1?这是关于 ADO.NET 基本用法的问题...
  • DAL.ReadString("SELECT (ftpHost || ftpLogin || ftpPassword) FROM Ftp WHERE Id = '1'");
  • @Oleg 您从SQL 读取数据的方法是错误的。您应该使用返回典型 DataTable 对象的正常方式
  • public DataTable Select(string Sql) { cmd = new SQLiteCommand(Sql, conn); adpt = new SQLiteDataAdapter(); adpt.SelectCommand = cmd;数据集 ds = new 数据集(); conn.Open(); adpt.Fill(ds); conn.Close();返回 ds.Tables[0]; }

标签: c# sqlite


【解决方案1】:

好的,我用 ExecuteReader 以这种方式解决了这个问题

            while (reader.Read())
            {
                object[] values = new object[reader.FieldCount];
                reader.GetValues(values);
                return string.Join(",", values);
            }

【讨论】:

    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2019-08-24
    相关资源
    最近更新 更多