开发出一个小小的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);
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"/>
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验证身份方式(好像没什么好处)
web.config里边的connectionStrings里的内容格式:
<add name="mysqlstr" providerName="System.Data.SqlClient"
connectionString="server=IP地址;Data Source=hellosql;User ID=用户名;Password=密码"/>
还有种设置连接字符串的方式(也不推荐):
连接SQL SERVER时webconfig里边这么设置
string connectionString= ConfigurationManager .AppSettings[ "SqlConnection" ];
关于MySQLDriverCS.dll,网上找到的这个文件和自己安驱动带的这个文件好像都是32位,导致64位机器IIS上边运行网站时出现加载程序集错误。
没办法,只能设置应用程序池->高级设置->启用32位应用程序 False改为True。
</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。