hl.wang
发布于 2018.11.09 15:45
阅读 2381
评论 0
问题:
C#与JAVA都是面向对象的编程语言,用java连接mysql数据库相信大家可能都会,那么用C#如何连接呢?如何实现增删改查呢,与java是不是大同小异呢?
分析:
既然都是面向对象的语言,语法也没有很大的差别,相信连接数据库也不会有很大的差别,下面让我们来看看如何连接吧。
案例演示:
首先去下载Mysql.Data.dll然后引入到项目中,接下来我们就可以来连接数据库了
namespace MYSQLDemo
{
class MySqlHelper
{
public MySqlConnection getMysqlConnection()
{
//User Id 对应的mysql用户名,password对应密码,server对应的IP地址,Database对应要操作的库名
String contest = "server=localhost;User Id=root;password=123;Database=mybase";
//建立连接,相当于java中的得到Connection
MySqlConnection mySqlConnection = new MySqlConnection(contest);
return mySqlConnection;
}
}
}
好了这样我们已经连接上我们的mysql数据库了,当然只是连接上还不行,C#里我们还需要“打开数据库”:
MySqlConnection mycon = new MySqlHelper().getMysqlConnection();
mycon.Open();
现在数据库打开了我们可以操作数据库进行增删改查了:
//添加
public int insert(Member member) {
String sql = "insert into member values(" + member.number +","
+"'" + member.rank + "'" + ","
+ "'" + member.mname+"'" +","
+ "'" + member.phnumber + "'" + ","
+ "'" + member.address + "'" + ","
+ "'" + member.mdate + "'" + ")";
MySqlCommand cmd = new MySqlCommand(sql, mycon);
return cmd.ExecuteNonQuery();
}
然后在主函数里调用
class Program
{
static void Main(string[] args)
{
Member member = new Member("100","高级","王厚林","15764239245","青岛","0830");
int n = new Service().insert(member);
if (n > 0) {
Console.WriteLine("添加成功");
}
Console.ReadLine();
}
}
}
运行之后我们发现数据库里添加成功了:
删除和更新只是改一下sql语句就可以,下面我们来看一下查找:
//查找
public List<Member> select() {
List<Member> list = new List<Member>();
String sql = "select * from member";
MySqlCommand cmd = new MySqlCommand(sql, mycon);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
if (reader.HasRows)
{
Member member = new Member(reader.GetString(0), reader.GetString(1), reader.GetString(2), reader.GetString(3), reader.GetString(4), reader.GetString(5));
list.Add(member);
}
}
return list;
}
然后在主函数里调用运行:
namespace MYSQLDemo
{
class Program
{
static void Main(string[] args)
{
List<Member> list = new Service().select();
foreach (Member m in list) {
Console.WriteLine(m.number);
}
Console.ReadLine();
}
}
}
只选择打印了number数据:
我们发现查询成功。
总结:
最后发现用C#连接数据库并执行增删改查是不是也不难,与java大同小异,只不过每个语言的类名不一样而已,本质上还是一样的。好了至于多表的查询还有待研究。
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}