ASP.NET连接数据库操作

开发出一个小小的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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值