大家好日子,
我是编程新手,我的建筑就像一个简单的程序。只需按钮并显示结果。这就是我连接数据库的方式。我使用MySQL.data.dll并将其添加为参考。
string connString = "Server=localhost;database=super;uid=root;password=root";
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand command = conn.CreateCommand();
command.CommandText = "SELECT * FROM people WHERE idPeople=1";
conn.Open();
// get data
conn.Close()
有什么其他方式可以连接到数据库,也许是一种更好的方法。如果你可以帮助我提高我的编程水平,那将是很棒的。对不起,如果你发现这个问题愚蠢。谢谢!
答案 0 :(得分:2)
这是正确的轨道,但你错过了几个重点:
以下是解决所有这些问题的示例:
//often this will loaded from a config file
string connString = "Server=localhost;database=super;uid=root;password=root";
string sql = "SELECT <column list> FROM people WHERE idPeople= @idPeople";
using (var cn = new MySqlConnection(connString))
uinsg (var cmd = new MySqlCommand(sql, cn))
{
cmd.Parameters.Add("@idPeople", MySqlDbType.Int32).Value = 1;
conn.Open();
//get data
}
你会看到有些人告诉你使用ORM,比如NHibernate,linq-to-sql,Entity Framework等。我倾向于认为还有一个手工编码和调优的sql的地方,我不知道我们非常关注他们。但是,像Dapper这样的轻量级数据访问框架可能会有所帮助。这些可以抽象掉大部分样板代码,不仅仅是我刚写的内容,还有业务和传输对象层,还可以编写你需要的任何sql。
答案 1 :(得分:0)
一般来说,您将使用Entity Framework或nhibernate之类的ORM。
答案 2 :(得分:0)
基本上,如果您考虑使用c#连接数据库,则有三种类型。
我建议你阅读Andrew Troelsen撰写的题为“Pro C#2010和.NET 4平台”第5版的书。 Pro C# 2010 and the .NET 4 plateform。你可以得到最新的版本。
还有另一个名为NHibernate的框架,它与Java中的Hibernate几乎相似