ASP连接Mysql小记

来源:互联网 发布:天天练软件好吗 编辑:程序博客网 时间:2024/06/05 22:45

环境:
ide:vs2010
数据库:mysql5.7

1、安装插件

https://dev.mysql.com/downloads/windows/visualstudio/
首先进入msyql官网下载VS插件,使VS支持Mysql的可视化
https://dev.mysql.com/downloads/connector/net/
下载.net对Mysql的支持
安装完之后,你就可以去,菜单栏:工具->连接到数据库
这里写图片描述

这里写图片描述

2、添加连接字符创到Web.conf

这里写图片描述
拉取SqlDataSource到网页,配置数据源,你可以新建连接,也可以选择现有的。下面的连接字符串是我们想要的。点下一步。
这里写图片描述
这是提示,一直下一步吧。接着就好了,当然那个字符串的名字可以任意,但是最后我们是会用到的。
多了如下:

<connectionStrings>  <add name="networkalbumConnectionString" connectionString="server=127.0.0.1;user id=root;password=root;persistsecurityinfo=True;database=networkalbum"   providerName="MySql.Data.MySqlClient" /> </connectionStrings>

利用配置文件,我们可以写出如下代码:

using System.Configuration;//使用ConfigurationManager,需要的引用String mysqlConn = ConfigurationManager.ConnectionStrings["networkalbumConnectionString"].ToString();

3、防止SQL注入的sql写法

using MySql.Data.MySqlClient;//MySqlCommand命名空间StringBuilder builder = new StringBuilder();        builder.Append("insert into ");        builder.Append(TableName);        builder.Append("(name , birth , sex , phone , email ,pwd) values");        builder.Append("(?name , ?birth , ?sex , ?phone , ?email ,?pwd)");        builder.Append(";");        MySqlCommand com = new MySqlCommand(builder.ToString(), con.GetCon());        com.Parameters.Clear();        com.Parameters.AddWithValue("?name",u.Name);        com.Parameters.AddWithValue("?birth", u.Birth.ToShortDateString());        com.Parameters.AddWithValue("?sex", u.Sex);        com.Parameters.AddWithValue("?phone", u.Phone);        com.Parameters.AddWithValue("?email", u.Email);        com.Parameters.AddWithValue("?pwd", u.Pwd);        int i = com.ExecuteNonQuery();

con.GetCon()这个知识普通的获得sqlconnection,我们写sql语句的时候我们尽量用占位符的写法,这样子可以防止sql注入,在web中,简单的sql注入应该是要防止的,上面的事例中,我们用了?XXX的写法,最后通过Parameters.AddWithValue方法填入参数。

4、ASP中Mysql的一些建议

using System.Configuration;//使用ConfigurationManager,需要的引用using MySql.Data.MySqlClient;//MySqlConnection的命名空间using System.Data;//ConnectionState的命名空间MySqlConnection conn;//这个是connection对象,跟sqlconnection有什么区别不知道,但是用什么数据库就用什么类,避免不必要的麻烦//打开关闭数据库连接可以判断一下conn.State.Equals(ConnectionState.Open)conn.State.Equals(ConnectionState.Closed)
0 0
原创粉丝点击