由於項目中要使用到數據庫來存儲一些基本數據,所以在此做了一些簡單的總結,也是最基本的mysql數據操作。
一、數據庫的存儲
項目中存儲數據時,需要根據操作者在界面上的操作來決定是否存儲(操作界面上有創建表格和存儲數據的按鈕),所以在存儲數據前,如果點擊“創建表格”的話,會在mysql數據庫中創建一個新表,
class MySQL
{
/// <summary>
/// 建立mysql數據庫鏈接
/// </summary>
/// <returns></returns>
private string mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;pooling=false;CharSet=utf8;port=3306";
public MySqlConnection getMySqlCon()
{
MySqlConnection mysql = new MySqlConnection(mysqlStr);
return mysql;
}
/// <summary>
/// 建立執行命令語句對象
/// </summary>
/// <param name="sql"></param>
/// <param name="mysql"></param>
/// <returns></returns>
public MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
{
MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql)
return mySqlCommand;
}
/// <summary>
/// 創建數據庫中的表
/// </summary>
/// <param name="tableName">輸入表名</param>
public void AlterTableExample(string tableName)
{
string createStatement = "CREATE TABLE " + tableName+ "(time text,number int,wavelength double)";
//括號內爲所建表中添加的字段
using (MySqlConnection conn = new MySqlConnection(mysqlStr))
{
conn.Open();
// 建表
using (MySqlCommand cmd = new MySqlCommand(createStatement, conn))
{
int tmp = cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 向數據庫中插入數據
/// </summary>
/// <param name="tableName">輸入表名</param>
public void getInsert(MySqlCommand mySqlCommand)
{
try
{
mySqlCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
String message = ex.Message;
Console.WriteLine("插入數據失敗了!" + message);
}
}
}
以上爲創建的數據庫操作類,在使用時只需要實例化類,然後將通過傳入特定的指令參數來進行操作。
以下爲簡單的操作示範:
MySQl MS = new MySQL();
//創建表格
ms.AlterTableExample(tBTableName.Text);
MessageBox.Show("Table has created successfully");
//插入數據的指令
string sqlInsert = "insert into "+saveTable+" (time,number,wavelength) values('" + System.DateTime.Now.ToString("yyyyMMdd_HHmmss").ToString() + "','"+ FBGNums.ToString() + "','" + tmpData + "')";
//執行插入的指令
MySqlConnection mysql = ms.getMySqlCon();
mysql.Open();
MySqlCommand cmd = ms.getSqlCommand(sqlInsert, mysql);
cmd.ExecuteNonQuery();
mysql.Close();