ASP.NET连接数据库操作

来源:互联网 发布:彩印编织袋价格算法 编辑:程序博客网 时间:2024/05/21 18:35

开发出一个小小的hello world网站,进行简单的数据库增删改查操作,连接SQL SERVER或者MySQL数据库。

在mysql里边建了个hellosql数据库,建了个hello(testID,one,two)的表。

主要是为了远程连接数据库的各种奇葩问题折腾了好久。没什么技术含量,写个博客存着。


default.aspx.cs部分代码:

....
using System.Configuration;

using System.Data;
//  using MySql.Data.MySqlClient;   /*  也有这种方式连接mysql,我没用过  */
using MySQLDriverCS;//要添加MySQLDriverCS.dll引用,安装MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe可以获得这个dll,发布网站的机器貌似也要安装驱动
public partial class _Default : System.Web.UI.Page
{
    public void CreateCommand(string queryString, string connectionString)
    {    
        using (MySQLConnection connection = new MySQLConnection(connectionString))
        {
            try
            {
                MySQLCommand command = new MySQLCommand(queryString, connection);
                command.Connection.Open();
                command.ExecuteNonQuery();
                command.Connection.Close();
                Response.Write(queryString + "  操作成功<br/>");         
            }
            catch(Exception es)
            {
                Response.Write(queryString + "  操作失败<br/>" + es.Message);              
            }
        }
    }
    public void SelectCommand(string queryString, string connectionString)
    {
        using (MySQLConnection connection = new MySQLConnection(connectionString))
        {
            MySQLCommand command = new MySQLCommand(queryString, connection);
            command.Connection.Open();
            using (MySQLDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    Console.WriteLine(reader.GetString(1));
                };
                //reader.close();
            }
            command.Connection.Close();
            Response.Write(queryString + "  操作成功<br/>");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        /* 连接mysql字符串 */
        string connectionString = ConfigurationManager.ConnectionStrings["mysqlstr"].ConnectionString;//这种方式需要在web.config中设置
        //string connectionString = new MySQLConnectionString("IP地址","hellosql","用户名","密码",3306).AsString;

        string insertcmd = "insert into hello(testID,one,two) values('001','aaa','bbb')";
        CreateCommand(insertcmd, connectionString);

        string selectcmd = "select * from hello where testID='001'";
        SelectCommand(selectcmd, connectionString);

        string updatecmd = "update hello set one='a' where testID='001'";
        CreateCommand(updatecmd, connectionString);

        string deletecmd = "delete from hello where testID='001'";
        CreateCommand(deletecmd, connectionString);
    }
}

web.config文件:
....
<configuration>
  <connectionStrings>
    <add name="mysqlstr" providerName="MySqlDriverCS"
       connectionString="Data Source=hellosql;Password=密码;User ID=用户名;Location=IP地址;Port=3306"/>
  </connectionStrings>
  <system.web>
    ....
  </system.web>
</configuration>

连接SQL SERVER数据库的
 using System.Data.SqlClient;
连接SQL SERVER字符串connectionString:
Initial Catalog设置database数据库名,Data Source设置sql server服务器名。
uid和pwd是数据库用户名密码验证方式,也可以通过Integrated Security=SSPI的windows验证身份方式(好像没什么好处)

string connectionString = "Initial Catalog=hellosql;Data Source=IP地址;uid=hello;pwd=hello";      
然后类型MySQLConnection、MySQLCommand什么的对应改成SqlConnection、SqlCommand等。
web.config里边的connectionStrings里的内容格式:
<add name="mysqlstr" providerName="System.Data.SqlClient"
       connectionString="server=IP地址;Data Source=hellosql;User ID=用户名;Password=密码"/>


还有种设置连接字符串的方式(也不推荐):
连接SQL SERVER时webconfig里边这么设置
<appSettings>
    <add key="SqlConnection" 
      value="server=IP地址;uid=用户名;pwd=密码;database=hellosql"/>
</appSettings>
aspx.cs里边获取字符串的方式对应改成:
string connectionString=ConfigurationManager.AppSettings["SqlConnection"];


关于MySQLDriverCS.dll,网上找到的这个文件和自己安驱动带的这个文件好像都是32位,导致64位机器IIS上边运行网站时出现加载程序集错误。
没办法,只能设置应用程序池->高级设置->启用32位应用程序 False改为True。

0 0
原创粉丝点击