c# - C# - 如何使用 ListView 和 SQLite 数据库
问题描述
我正在尝试在 ListView 中从 SQLite 数据库中添加一些数据。我遇到了一些困难,因为我想插入列的所有数据而不是一条记录。
测试代码:
Form1.cs {加载}
private void home_form_Load(object sender, EventArgs e)
{
listView1.Refresh();
listView1.View = View.Details;
listView1.Columns.Add("ID");
listView1.Columns.Add("Grado");
listView1.Columns.Add("Cognome");
listView1.Columns.Add("Nome");
listView1.Columns.Add("Status");
}
Form1.cs {menu_button_gestionepax}
private void menu_button_gestionepax_Click(object sender, EventArgs e)
{
menu_button_dashboard.BackColor = System.Drawing.Color.DeepSkyBlue;
panel_dashboard.Visible = false;
gestionepersonale_panel.Visible = true;
menu_button_gestionepax.BackColor = System.Drawing.Color.Blue;
listView1.Refresh();
ListViewItem lst = new ListViewItem();
lst.SubItems.Add(LoadUsers.ManagerFind());
lst.SubItems.Add(LoadUsers.ManagerFind());
lst.SubItems.Add(LoadUsers.ManagerFind());
lst.SubItems.Add(LoadUsers.ManagerFind());
lst.SubItems.Add(LoadUsers.ManagerFind());
listView1.Items.Add(lst);
/*
string[] row = { LoadUsers.ManagerFindid(), LoadUsers.ManagerFindid() };
var listViewItem = new ListViewItem(row);
infobox_listview.Items.Add(listViewItem);
*/
}
加载用户.cs
public dynamic string ManagerFind()
{
using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
var select = cnn.Query($"select id from utenti");
if (select.Any())
{ return select[0].ToString(); }
else return "wrong";
}
}
我还进行了各种其他测试,在某些情况下的困难之一是从LoadUsers.cs调用字符串 ManagerFind()
解决方案
尝试这样的事情从你的 sql 中获取你的行和列
using (SqlConnection connection = new SqlConnection(_sqlConnectionStringFromUserImput))
{
connection.Open();
if (connection.State == ConnectionState.Open)
{
SqlCommand sqlCommand =
new SqlCommand(
"select id from utenti",
connection)
{
CommandType = CommandType.Text,
CommandTimeout = 20
};
SqlDataReader reader = sqlCommand.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
DateTime datetimefield = reader.GetFieldValue<DateTime>(0);
string stringField = reader.GetFieldValue<string>(1);
}
}
reader.Close();
}
connection.Close();
}
推荐阅读
- php - 不依赖顺序解析 JSON
- python - Python / Selenium“悬停并单击”不适用于其类在悬停时发生变化的WebElement
- angular - 更新 NGRX/Redux 存储对象属性
- spring-boot - SpringBoot Keycloak NoSuchMethodError:javax.ws.rs.core.UriBuilder.resolveTemplates
- sql - 显示 EXECUTE IMMEDIATE 语句的输出
- python - 使用 psycopg2 执行许多 SELECT 查询
- javascript - Replace text in html textarea
- ruby-on-rails - 将路线映射到 Rails 中的其他路线
- html - 如何开始使用 flex?
- docker - 将节点加入集群后看不到节点 - “getsockopt:连接被拒绝”