时间:2021-07-01 10:21:17 帮助过:30人阅读
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
namespace CimDataImport
{
public class TestCharacter
{
public const string mysqlConnection = "User Id=root;Host=localhost;Database=cim;password=root";
/// <summary>
/// 添加数据
/// </summary>
/// <returns></returns>
public int Add(UserBase entity)
{
string sql = "INSERT INTO cimuser (userid,userNickName) VALUE (@userid,@userNickName)";
using (MySqlConnection mycn = new MySqlConnection(mysqlConnection))
{
mycn.Open();
MySqlCommand command = new MySqlCommand(sql, mycn);
command.Parameters.AddWithValue("@userid", entity.UserId);
command.Parameters.AddWithValue("@userNickName",entity.UserNickName);
return command.ExecuteNonQuery();
}
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public int Update(UserBase entity)
{
string sql = "UPDATE cimuser SET userNickName=@userNickName WHERE userid=@userid";
using (MySqlConnection mycn = new MySqlConnection(mysqlConnection))
{
mycn.Open();
MySqlCommand command = new MySqlCommand(sql, mycn);
command.Parameters.AddWithValue("@userid", entity.UserId);
command.Parameters.AddWithValue("@userNickName", entity.UserNickName);
return command.ExecuteNonQuery();
}
}
/// <summary>
/// 删除数据
/// </summary>
/// <param name="primaryKey"></param>
/// <returns></returns>
public int Delete(int primaryKey)
{
string sql = "DELETE FROM cimuser WHERE userid=@userid";
using (MySqlConnection mycn = new MySqlConnection(mysqlConnection))
{
mycn.Open();
MySqlCommand command = new MySqlCommand(sql, mycn);
command.Parameters.AddWithValue("@userid", primaryKey);
return command.ExecuteNonQuery();
}
}
/// <summary>
/// 根据主键查询
/// </summary>
/// <param name="primaryKey"></param>
/// <returns></returns>
public UserBase Get(int primaryKey)
{
string sql = "SELECT userid,userNickName FROM cimuser where userid=@userid";
using (MySqlConnection mycn = new MySqlConnection(mysqlConnection))
{
mycn.Open();
MySqlCommand command = new MySqlCommand(sql, mycn);
command.Parameters.AddWithValue("@userid", primaryKey);
MySqlDataReader reader = command.ExecuteReader();
UserBase userBase = null;
if (reader.Read())
{
userBase = new UserBase();
userBase.UserId = Convert.ToInt32(reader["userid"]);
userBase.UserNickName = reader["userNickName"] == DBNull.Value ? null : reader["userNickName"].ToString();
}
return userBase;
}
}
/// <summary>
/// 查询集合
/// </summary>
/// <returns></returns>
public IList<UserBase> GetList()
{
string sql = "SELECT userid,userNickName FROM cimuser limit 1,10";
using (MySqlConnection mycn = new MySqlConnection(mysqlConnection))
{
mycn.Open();
MySqlCommand command = new MySqlCommand(sql, mycn);
MySqlDataReader reader = command.ExecuteReader();
IList<UserBase> list = new List<UserBase>();
UserBase userBase = null;
while (reader.Read())
{
userBase = new UserBase();
userBase.UserId = Convert.ToInt32(reader["userid"]);
userBase.UserNickName = reader["userNickName"] == DBNull.Value ? null : reader["userNickName"].ToString();
list.Add(userBase);
}
return list;
}
}
}
}
3. ALinq 让我变得如此简单
在Linq 没有现世之前,Ado.net 的数据库操作让我们感觉到编程的痛苦,每天重复着相同的数据库操作代码,后来千奇百怪的代码生成器让我们从中解脱出来,虽然有些代码生成器的确非常不错,但是心中始终觉得那些代码少了一些什么!
Linq TO SQL 推出之后,我们感觉到了.net 语法的甜,是甜到心里的那种甜,感觉自己从代码中彻底释放出来!可是Linq To SQL 只支持微软的 SQL Server 数据库。
Alinq 是如此完美的解决了多类型数据库操作的问题,在操作SQL Server 数据上毫不逊色Linq to SQL,在Mysql,Oracle,Db2 等数据库操作上更甚一筹!第一: 新建工程
第二:添加新建项
这里使用控制台程序第三: 新建数据库连接
第四:添加Mysql数据库连接
第五:选择Mysql 数据源
第六:更改数据源
第七:输入Mysql服务名以及账号和密码
第八:测试连接
第九:连接成功
上述操作是必须在安装ADO.NET driver for MySQL 组件的情况下才能正常操作,否则第六步选择更改数据源的时候看不到MySql database 选项。
Linq to sql 对于大家来说已经很熟悉了,ALinq 的操作前面的文章也已经详细讲解过了。这里操作不做详细说明了!4. 中文你让我如何说你
Mysql 数据库开源,更重要的是它能够运行在Linux系统中!在工作中将Sql server 数据库中的数据导入到Mysql 的时候,意想不到的事情发生了,中文在Mysql 中都变成了乱码。而且Mysql 是安装在Linux 系统上的。
Linux 中Mysql解决乱码问题方案以及操作步骤:
1. 查找Mysql 下的.cnf 配置文件
在windows系统中安装mysql程序,其中保存保存数据的配置文件名为 my.ini
此文件存在于mysql安装目录下,使用记事本打开此文件修改内容如下:
将 default-character-set=utf8 (有两处)更改为 default-character-set=GBK 并且添加节点:character_set=gbk
在Linux中首先查找mysql 的配置文件命令如下:
find -name *.cnf –print
得到如下结果:
2. 将Mysql 中的一个cnf文件复制到etc文件目录下,并且保存为my.cnf
在etc 目录下查找my.cnf 文件,如果此文件不存在则需要从1中查找的文件中my-large.cnf,
My-small.cnf,my-medium.cnf 三个文件中复制一个到etc目录下面,并且保存my.cnf 文件。
使用命令:
cp /usr/share/mysql/my-large.cnf /etc/
mv etc/my-large.cnf etc/my.cnf
文件复制到特定目录,并且重新命名。
3. 修改my.cnf 配置文件
cd etc/ 进入etc目录下
vi my.cnf 使用vi命令打开my.cnf 文件
如果文件中存在此节点,则将编码方式修改为gbk
4. 重新启动服务
/etc/init.d/mysql restart 重新启动mysql 服务
5. 再次导入数据成功