为了调试代码方便,可以先在Program.cs里面设置初始启动的函数(Students()):
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Students());
}
1、搭建数据库
在数据库中新建一个表:
这里数据类型还是推荐使用nvarchar;现在的操作系统基本上内部解析基本上都是用Unicode编码的,使用了nvarchar你可以避免每次从数据库读取或写入时候,进行编码转换,转换需要时间,并且很容易出错。如果出错,恢复回来可没那么简单,并且nvarchar是支持多种语言的。
但是nvarchar和varchar都不支持sum操作。
这里我发现V22好像第二次更新数据库就会卡死,所以每次更新数据库前都要重启VS,不能在一次打开后连续更新两次数据库。
点击更新数据库之后要让数据库和工程链接起来才能使用。
链接数据库的函数如下:
SqlConnection Con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=""F:\Microsoft Visual Studio\Project\Bookshop\DataBase\Regedit.mdf"";Integrated Security=True;Connect Timeout=30"); //新建一个全局数据库对象,使用该对象来操作全局的,@""是连接字符串,用于获取/打开SQLserver
@" "是连接字符串,引号里面填写的是查询到的数据库连接字符串:
之后是链接数据库的代码,记得要在最开头的public初始化函数中引用上:
//函数:链接数据库
//通过查询数据库,把特定的信息存储在数据表中
private void populate() //数据表函数
{
Con.Open();
string query = "select * from StudentTable"; //SQL语句,查询数据表中的信息
SqlDataAdapter sda = new SqlDataAdapter(query,Con); //创建批量抓取
SqlCommandBuilder builder = new SqlCommandBuilder(sda); //Adapter通常与commandbuilder配合使用,便于批量处理数据库
var ds = new DataSet(); //创建虚拟表
sda.Fill(ds);
StudentDGV.DataSource = ds.Tables[0]; //把列表显示出来
Con.Close();
}
2、查询数据库的内容
在数据库上右键"新建查询",在.sql文件中输入下列代码查询数据库详情
select * from sys.databases
可以看到这里是SQL的默认字体格式,是不能识别中文的。
3、把SQL数据库中的默认字体变为可以识别中文的字体
同样地,在.sql文件中输入下列代码可以更改数据库的默认字体;
这里的[ ]内的路径要根据开发者实际存储的数据库位置进行修改。
alter database[F:\MICROSOFT VISUAL STUDIO\PROJECT\BOOKSHOP\DATABASE\REGEDIT.MDF] set single_user with rollback immediate;
alter database[F:\MICROSOFT VISUAL STUDIO\PROJECT\BOOKSHOP\DATABASE\REGEDIT.MDF] collate Chinese_PRC_CI_AS;
alter database[F:\MICROSOFT VISUAL STUDIO\PROJECT\BOOKSHOP\DATABASE\REGEDIT.MDF] set multi_user;