using MySql.Data.MySqlClient;string myConnectionString = "Database=zttest;Data Source=192.168.0.2;User Id=root;Password=";
MySqlConnection mycn = new MySqlConnection(myConnectionString);
mycn.Open();
MySqlCommand mycm = new MySqlCommand("select * from users",mycn);
MySqlDataReader msdr = mycm.ExecuteReader();
while(msdr.Read())
{
(msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();代码如上,访问的时候总是出下面的提示,请问是怎么回事由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 错在这一行,mycn.Open();
MySqlConnection mycn = new MySqlConnection(myConnectionString);
mycn.Open();
MySqlCommand mycm = new MySqlCommand("select * from users",mycn);
MySqlDataReader msdr = mycm.ExecuteReader();
while(msdr.Read())
{
(msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();代码如上,访问的时候总是出下面的提示,请问是怎么回事由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。 错在这一行,mycn.Open();
另外可以尝试用ODBC访问
我对MYSQL是新手,不只到是不是连接字符的问题.但是参数都是对的.程序和MYSQL不是一台机器上.
以前做mysql的时候用过后来听别人的建议就改ODBC了
没试过性能是否会慢
起码用.Net自带的ADO+就能访问了 而且可以很好的隔离数据库
http://www.microsoft.com/china/community/Column/63.mspx
http://dev.mysql.com/tech-resources/articles/dotnet/
Open connection to local MySQL database using MySQL ODBC 3.51 Driver"Provider=MSDASQL; DRIVER={MySQL ODBC 3.51Driver}; SERVER= localhost; DATABASE=Your_MySQL_Database; UID= Your_Username; PASSWORD=Your_Password; OPTION=3"
MySQL OLE DB & OleDbConnection (.NET framework) connection strings
Open connection to MySQL database:"Provider=MySQLProv;Data Source=Your_MySQL_Database;User Id=Your_Username; Password=Your_Password;"
eInfoDesigns.dbProvider:"DataSource=server;Database= mydb;UserID=username;Password=pwd;Command Logging=false" Declare the MySqlConnection:C#:
using eInfoDesigns.dbProvider.MySqlClient;
MySqlConnection oMySqlConn = new MySqlConnection();
oMySqlConn.ConnectionString = "my connectionstring";
oMySqlConn.Open();>>SevenObjects MySqlClient (.NET) 1.Standard:"Host=server; UserName= myusername;Password=mypassword;Database=mydb;" >>Core Labs MySQLDirect (.NET)
1.Standard:"User ID=root; Password=pwd; Host=localhost; Port= 3306;Database=test;Direct=true; Protocol=TCP; Compress=false; Pooling=true; Min Pool Size=0;Max Pool Size=100; Connection Lifetime=0"
可能大部分的人都不知道这个东西,MySQLDriverCS是MySQL数据库的一个免费开源的.NET驱动程序。和Sql .NET Data Provider是为Sql Server一样,它是专门为MySQL设计的,可以叫做MySQL .NET Data Provider。使用他不需要额外的去设置ODBC数据源,基本上只要能连接到MySQL就能通过MySQLDriverCS来访问。
MySQLDriverCS是SourceForge.NET上的一个项目,不过不知道什么原因,这个网站在国内访问不到。
下面是使用MySQLDriverCS的代码示例:
MySQLConnection conn = null;
try
{
string connstr = "Data Source=MySQL;Password=root;User ID=root;Location=localhost";
conn = new MySQLConnection(constr);
conn.Open();
string query = "insert into test.dbtable values(10, 'disksidkfsdi', 'asdfaf', 'adsfasdf')";
string tmp = null;
MySQLCommand cmd = new MySQLCommand(query, conn);
for(int i = 0; i < 100000; i++)
{
cmd.ExecuteNonQuery();
}
cmd.Dispose();
conn.Close();
query = "select * from test.dbtable";
MySQLCommand cmd2 = new MySQLCommand(query, conn);
conn.Open();
MySQLDataReader reader = cmd2.ExecuteReaderEx();
while(reader.Read())
{
tmp = reader[0].ToString();
tmp = reader[1].ToString();
tmp = reader[2].ToString();
tmp = reader[3].ToString();
}
conn.Close();
query = "delete from test.dbtable";
MySQLCommand cmd3 = new MySQLCommand(query, conn);
conn.Open();
cmd3.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
list 必须加数据库所在名称。