由于项目中要使用到数据库来存储一些基本数据,所以在此做了一些简单的总结,也是最基本的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();