C#連接MySQL的兩個簡單代碼示例
實現(xiàn)代碼一、使用的是mysql自帶的驅(qū)動安裝一下即可
這是一個簡單的例子。
在這里有個問題:dataset如果沒設(shè)主鍵的話,可能會引起一些對數(shù)庫操作的問題,比如會造成updata出現(xiàn)錯誤。
static void Main(string[] args)
{
string sqlstr = "select * from manavatar";
MySQLConnection DBConn = new MySQLConnection(new MySQLConnectionString("192.168.0.13", "flashdata", "root", "root", 3306).AsString);
DBConn.Open();
//MySQLDataAdapter myadap = new MySQLDataAdapter(sqlstr, conn);
MySQLCommand DBComm = new MySQLCommand(sqlstr,DBConn);
MySQLDataReader DBReader = DBComm.ExecuteReaderEx(); //DBComm.ExecuteReaderEx();
MySQLDataAdapter DTAdapter = new MySQLDataAdapter(sqlstr,DBConn);
DataSet myDataSet = new DataSet();
DTAdapter.Fill(myDataSet,"manavatar");
try
{
while (DBReader.Read())
{
//Console.WriteLine("11");
Console.WriteLine("DBReader:{0},\t\t\tddddd:{1},\t\t {2}",DBReader.GetString(0), DBReader.GetString(1),DBReader.GetString(3));
}
Console.WriteLine("0000");
}
catch (Exception e)
{
Console.WriteLine("讀入失?。?+e.ToString());
}
finally
{
Console.WriteLine("DBReader關(guān)閉");
Console.WriteLine("DBConn關(guān)閉");
DBReader.Close();
//DBConn.Close();
}
for (int i = 0; i < myDataSet.Tables["manavatar"].Rows.Count; i++)
{
Console.WriteLine("{0}",myDataSet.Tables["manavatar"].Rows[2]["user"]);
}
}
方法二、
貼一份示例代碼。非常適合于初學(xué)者使用。
C#訪問mysql
using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;
using System.Data.Common;
namespace SybaseUtilTest
{
class Program
{
// http://bugs.mysql.com/47422, 有興趣的朋友,可以看看這個bug是怎么回事
static void testDataAdapter()
{
try
{
MySqlClientFactory factory = MySqlClientFactory.Instance;
DbConnection conn = factory.CreateConnection();
conn.ConnectionString = string.Format("server={0};user id={1}; password={2}; database={3}; port={4}; pooling=false",
"localhost", "root", "passwd", "test", 3306);
conn.Open();
DbDataAdapter da = factory.CreateDataAdapter();
da.SelectCommand = conn.CreateCommand();
da.SelectCommand.CommandText = "select * from t12345";
da.DeleteCommand = conn.CreateCommand();
da.DeleteCommand.CommandText = "delete from t12345 where id = @id";
DbParameter param = factory.CreateParameter();
param.ParameterName = "@id";
param.DbType = DbType.Int32;
param.SourceColumn = "id";
param.SourceVersion = DataRowVersion.Current;
da.DeleteCommand.Parameters.Add(param);
da.DeleteCommand.UpdatedRowSource = UpdateRowSource.None;
DataTable dt = new DataTable("t12345");
da.Fill(dt);
int index = 0;
foreach ( DataRow o in dt.Rows )
{
if (o["id"].Equals(4))
{
Console.WriteLine(String.Format("index={0}, to delete id = 4, col2 = {1}" , index, o["col2"]));
break;
}
index++;
}
dt.Rows[index].Delete();
da.Update(dt);
dt.AcceptChanges();
da.Dispose();
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Source + " "
+ ex.Message + " "
+ ex.StackTrace);
}
}
static void Main(string[] args)
{
testDataAdapter();
}
}
}
以上就是腳本之家小編為大家整理的c#連接mysql數(shù)據(jù)庫的方法,需要的朋友可以參考一下。
相關(guān)文章
C#使用handle實現(xiàn)獲取占用指定文件或文件夾的進程
很多時候,一些不知道啥進程,把你的文件給占用了,然后就沒辦法刪掉或者做其他操作,如果使用Locksmith功能,就可以實現(xiàn)快速鎖定是哪個進程在搞事情,把對應(yīng)進程干掉就可以了,下面內(nèi)容演示C#使用幾行代碼實現(xiàn)File?Locksmith功能,需要的朋友可以參考下2024-09-09
Unity?UGUI的StandaloneInputModule標(biāo)準輸入模塊組件使用示例
這篇文章主要為大家介紹了Unity?UGUI的StandaloneInputModule標(biāo)準輸入模塊組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
C# JSON格式化轉(zhuǎn)換輔助類 ConvertJson
本文介紹使用C#原生代碼實現(xiàn) JSON格式化以及各種類型轉(zhuǎn)化JSON的輔助類,幫助開發(fā)人員快速開發(fā)。2016-04-04
C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的方式
這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

