如何访问数据库

本文关键字:数据库 访问 何访问 | 更新日期: 2023-09-27 18:34:37

我第二天使用Visual C#(经过多年的PHP(,我正在尝试访问SQL数据库。

我有"记录"类

public class Class1
{
   public int Id { get; set; }
   public string Name { get; set; }
   public string Category { get; set; }
   public decimal Price { get; set; }
}
这个类的实例,

或者这个类的实例数组,我想用数据库 Database1.sdf,表 ProductTable 中的数据填充:

Id int Primary
Name nvarchar 100
Category nvarchar 100
Price money

所以我做了

SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM ProductTable WHERE id=4");
cmd.Connection = conn;
Class1 row = cmd.

在那里我根本不知道如何进行。同样与

SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM ProductTable");
cmd.Connection = conn;
Class1[] rows = cmd.

从数据库中获取数据对象的首选方法是什么?

如何访问数据库

你自己一个忙,学会使用某种ORM,对于一个真正轻量级和易于使用的ORM,我推荐Dapper,你可以做这样的事情:

        using (var sqlConnSource = new SqlConnection(SqlSource))
        {
            sqlConnSource.Open();
            var myProducts = sqlConnSource.Query<Class1>("SELECT * FROM Products").ToList();
            foreach (var p in myProducts)
            {
                //do something more useful here if you want
              Console.Writeline("The product name is:" + p.Name)
            }
        }

如果你想要它而不使用ORM/实体框架,只需你可以用C#来做,

using (SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM ProductTable WHERE id=@val", conn))
{
    //read search value from from text field
    cmd.Parameters.AddWithValue("@val",<whateverthevalue>);
    conn.Open();
    SqlCeDataReader reader = cmd.ExecuteReader();
    if(reader.Read()) //use while if you want to get multiple records 
     {
    Class1Obj.id= reader.GetString(0);
    Calss1Obj.Name= reader.GetString(1);
    .....
      }
    conn.Close();
}