在开始机房收费系统第一个窗体的时候,发现了自己存在了很多的问题。
背景:调试登陆窗体出现了数据库连接的问题
光是这个错误,就调试了很久,而且从这次的调试当中,也说明自己在前面的学习存在很多问题:
问题一:自己骗自己
建好表之后,表里面没有数据,所以再查询的时候查询不到数据,所以就报错了。
但是自己在解决的时候,不是这么想的,数据库里面没有添加数据,而登录窗体用的用户名(admin)和密码(admin)是来自数据库里面的数据的,也就是自己建的user_info表,而我把它当成是连接数据库当中
ConnectString = "Provider=sqloledb;Data Source=192.168.24.45;InitiaL Catalog = chargexin_sys;User Id=sa;Password=123456"
这一句里面的User_id 和pwd 。因为数据库里面没有数据,所以在查询的时候肯定就出错了
问题二:学习不踏实
像上面那句代码,虽然说自己知道它是用来连接数据库,但是具体里面每一个组合代表什么意思,自己就没有动手去查,唐欢反问我的时候,是猜他们的意思,而不是说没有去查。正是这种学习态度,所以导致了自己忽略了很多的知识点。
provider 是提供者的意思,跟红皮书的五个子联系到一起就可以知道它具体的作用:
红皮书讲到连接数据库方式的时候,就有这一种方式:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath(db)这里Microsoft.Jet.OLEDB.4.0表示连接的是Access数据库。
“Provider=sqloledb”表示连接的是SQLServer数据库,所以Provider 代表数据库的连接方式。Data Source 指的是数据源,也就是我们连接数据库的时候的服务器名称 ;User Id和Password指的是连接服务器所需要的登陆名和密码;如下图:
InitiaL Catalog就是你要连接的数据库的名字:例如机房收费系统的(Chargexin_sys).
问题三:以粗心为借口
当问到为什么在前面,定义的是Connection 连接,后面写成了记录集。刚开始第一反应的时候,真粗心!
有时候,往往就是因为存在着这些不好的学习态度,所以才一次一次的降低了对自己的要求,一次次让自己止步不前!