c# - 是否可以使用 C# 在 SQLite 中获取列名(标题)?

标签 c# wpf sqlite

如果表和列是在 sqlite 中生成的代码“背后”,是否有可能获得列名(标题)?

试过了但是失败了:

SQLiteCommand cmd = new SQLiteCommand();

string sSQL = "Select * from tblUser Where username = '" + txtUsername.Text + "'";
cmd.CommandText = sSQL;
cmd.Connection = clsCon.con;
SQLiteDataReader dr2;
dr2 = cmd.ExecuteReader();
string columnName = dr2.GetName(1);
dr2.Read();

if (dr2.HasRows)
{
    MessageBox.Show("Username Already Exist!", "SQLite Test Application", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    txtUsername.Focus();
}

最佳答案

1) 确保数据库已打开

2) 确保命令与连接 Hook

3) 确保你没有收到任何错误

4) 遍历列名

var cmd = new SQLiteCommand("select * from t1", db);
var dr = cmd.ExecuteReader();
for (var i = 0; i < dr.FieldCount; i++)
{
    Console.WriteLine(dr.GetName(i));
}

关于c# - 是否可以使用 C# 在 SQLite 中获取列名(标题)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284967/

相关文章:

Java SQLite JDBCexecuteQuery 返回非空列的空 ResultSet

python - 将列表插入 SQLite3 单元格

c# - 你调用的对象是空的

c# - 如何在具有 ExpandoObject 类型的对象上应用扩展方法?

c# - 如何在 WPF C# 中设置 RichTextBox 中文本的行距?

wpf - 如何提高 Canvas 渲染性能?

wpf - 实现 UI 状态机的最佳方式是什么?

c# - 如何注入(inject)一个不提供接口(interface)和虚拟方法的类的伪实现?

c# - 我应该在退出主窗体之前中止并加入线程吗?

ruby-on-rails - 设计:尝试创建没有 ID 的记录