如何访问数据库
本文关键字:数据库 访问 何访问 | 更新日期: 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();
}