unity网络实战开发(丛林战争)-前期知识准备(011-c#连接数据库并实现增删改查以及sql注入问题)

使用工具:VS2015,Mysql

使用语言:c#

作者:Gemini_xujian

继上一篇文章内容,这节课讲解一下数据库的前期连接准备以及通过c# 实现数据库的增删改擦操作。

首先你需要自行安装Mysql以及它的workbench组件。然后打开新建一个数据库,我这里建了一个名为mytest的数据库,并建了一张user表。

在数据库软件准备就绪后,使用VS新建一个项目,建好后,右键引用有一个添加引用,然后在弹出的框下面有一个浏览按钮,点击浏览,然后找到你安装mysql的目录,默认目录为C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5,到这个目录之后有一个MySql.Data.dll文件,点击添加并确定。这样就引入了MySQL的类库。

接下来就是正式编码的时候了。

1、实现数据库的查询功能:

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 数据库操作
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "database=mytest;data source=127.0.0.1;port=3306;user id =root,password=root;";//连接数据库时需要的一些信息
            MySqlConnection conn = new MySqlConnection(connStr);//创建一个数据库连接
            conn.Open();//打开与数据库的连接
            MySqlCommand cmd = new MySqlCommand("select * from user",conn);//创建了一条命令
            MySqlDataReader reader = cmd.ExecuteReader();//用于执行查询命令
            while (reader.Read())//reader.read()方法用来读取一条数据,读取成功返回true,读取失败返回false
            {
                string username = reader.GetString("username");//将reader读取到的username属性值返回
                string password = reader.GetString("password");//将reader读取到的password属性值返回
                Console.WriteLine(username+password);
            }
            reader.Close();//关闭读取
            conn.Close();//关闭与数据库的连接
        }
    }
}

2、实现数据库的插入:

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 数据库操作
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "database=mytest;data source=127.0.0.1;port=3306;user id =root,password=root;";//连接数据库时需要的一些信息
            MySqlConnection conn = new MySqlConnection(connStr);//创建一个数据库连接
            conn.Open();//打开与数据库的连接
           
            #region 插入
            string username="";
            string password="";
            MySqlCommand cmd = new MySqlCommand("insert into user set username=@username,password=@pwd",conn);
            cmd.Parameters.AddWithValue("username",username);//防止sql注入
            cmd.Parameters.AddWithValue("password",password);
            cmd.ExecuteNonQuery();//执行与查询无关的sql指令时使用
            #endregion
            conn.Close();//关闭与数据库的连接
        }
    }
}

3、删除操作

            #region 插入
            int id=18;
            MySqlCommand cmd = new MySqlCommand("delete from user where id=@id", conn);
            cmd.Parameters.AddWithValue("id",id);
            cmd.ExecuteNonQuery();//执行与查询无关的sql指令时使用
            #endregion

4、更改操作

            #region 更改
            string pwd = "12";
            MySqlCommand cmd = new MySqlCommand("udpate user set password =@pwd where id=1 ", conn);
            cmd.Parameters.AddWithValue("pwd", pwd);
            cmd.ExecuteNonQuery();//执行与查询无关的sql指令时使用
            #endregion
以上就是通过c#的方式进行增删改查的操作,并在插入、删除、更新数据的操作中使用了sql防注入的方式进行操作。

猜你喜欢

转载自blog.csdn.net/gemini_xujian/article/details/79594430
今日推荐