机房收费总结

拖拖拉拉的,我的机房收费总算是完工了,真是不容易啊,感觉进度好慢啊,都没有完成一件事情的喜悦和激情了。
真的不想总结,因为我感觉好多东西别人都写过了,再写我感觉就不想写了,不过按照米老师说的,学习完了要总结,才会变成自己的知识,多总结,打包,把新知识变为旧知识,所以我还是总结一下我的收获吧,不然回头看看,这里是一片空白。
整理一下我遇到的困难,也就是我学习到的东西。
1,窗体的命名
起初命名时,感觉好困难,问问同学,说随便起个就行,我就拼音上了,终于在一次验收的时候,师父说不行,这不仅是专业的问题,规范的命名还可以给我们带来方便嘛,毕竟代码不只是写给自己的。
之前米老师讲过驼峰命名法和匈牙利命名法,这里就不在赘述了。
2,主窗体与子窗体
在父窗体上无法添加label,text或command等控件。可以使用picturebox
mdi是其他子窗体的容器,但是如果将picturebox拉伸到与mdi窗体最大化一样大小时,子窗体就无法显示了,子窗体被picturebox挡住了,我们这里就用到了一个API函数——setparent
在模块中声明这个函数
  Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long 
在单机菜单的Click 事件中 
SetParent frmStudent.hWnd, frmMain.hWnd

格式:setParent 你要显示的子窗体名称.hWnd, MDI窗体(即你的MDI窗体名称).hWnd

在这里我要把它改成

SetParent frmStudent.hWnd,Picture.hWnd

就ok了

3,日期类型(隔天时差)

在日期这个问题上,确实出了不少错,就是日期的类型,尤其是隔天算钱的问题,起初我算的只能是当天的时间差,也就是intTime = DateDiff("n", ontime, Time),后来发现隔天的时间好像就错了,参照邱慕夏同学的博客
http://blog.csdn.net/qiumuxia0921/article/details/11714209
时间的类型不仅有date 有time还有 datetime2(n)
用date就是2013/9/15日期

用time(0)那么就是21:32:00时间

用datetime2(0)就是2013/9/15 21:32:00既有日期又有时间

intTime = DateDiff("n", datetime, now)这样时间差就不会错了


4,MSHFlexGrid控件

MSHFlexGrid控件主要是用于表显示查询到数据库的信息,

在”工程“菜单中,选择”部件“,出现部件对话框

在控件选项卡中,选择Microsoft Hierarchical FlexGrid Control6.0,然后单击确定,MSHFlexGrid控件被添加到工具箱中

在工具箱中,单击MSGFlexGrid控件,然后将其拖到窗体上。

还有怎么删除控件中指定的记录,这个我之前写过一篇博客,这里就不多说了

5,导出Excel表

Dim xlapp As Excel.Application  'excel应用程序
Dim xlbook As Excel.Workbook  '工作簿
 Dim xlsheet As Excel.Worksheet  '工作表
Set xlapp = New Excel.Application
 Set xlbook = xlapp.Workbooks.Add
  Set xlsheet = xlbook.Worksheets.Add
   Dim row As Integer '行
   Dim col As Integer '列
    '导出为excel表
    With MSHFlexGrid1
        For row = 0 To .Rows - 1
            For col = 0 To .Cols - 1
                xlsheet.Cells(row + 1, col + 1).Value = .TextMatrix(row, col)
            Next col
        Next row
    End With
   xlapp.Visible = True


6,结账

结账窗体要用到SSTab控件

在 工程→部件→控件 中勾选“Microsoft Tabbed Dialog Control”控件,点击应用

SSTab控件提供了一组选项卡,每个都充当一个容器,包含了其他的控件。控件中每次只有一个选项卡是活动的,给用户提供了其所包含的控件,而其他选项卡都是隐藏的。

  再说结账,这一直是我很头疼的一个地方,一直整的不是很明白,大概就是,结账就是按照一定条件选择出来的卖了多少卡,退了多少卡,冲了多少钱,退了多少钱,收了多少钱,这个账单汇总一下。

7,报表

从一听说这个东西就一直有一种恐惧,不知道是个什么东西,只知道它是后面会用到,终于在做了日报表,周报表后明白了。

vb中有报表设计器,但是我感觉好像很麻烦,就用了Grid++Report 报表设计器,具体过程我是参考别人的博客写的。

http://blog.csdn.net/wlccomeon/article/details/8269917

8,打包发布问题
(1)数据库连接问题
总是数据库就是连接不上,ping也ping不通,两台机器的数据访问不了,弄了好几次,后来把防火墙关了,就ping通了,数据库也连接上了。
(2)第三方控件没有
GRDisplayViewer在别的机器上没有,那就将相应的第三方控件的DLL文件打包到你的程序中去,就可以解决了。这里需要将gregn50.dll打包进去,报表就可以用了。

9,组合查询

这个问题也是学习的别人的博客

txtSQL1 = "select * from online_info where" & " " & fieldName(Combo1.Text) & Combo4.Text & " '" & Text1 & "'"
    txtSQL2 = "select * from online_info where" & " " & fieldName(Combo1.Text) & Combo4.Text & "'" & Text1.Text & "'" & " " & fieldName(Combo7.Text) & " " & fieldName(Combo2.Text) & Combo5.Text & "'" & Text2 & "'"
    txtSQL3 = "select * from online_info where" & " " & fieldName(Combo1.Text) & Combo4.Text & "'" & Text1.Text & "'" & " " & fieldName(Combo7.Text) & " " & fieldName(Combo2.Text) & Combo5.Text & "'" & Text2.Text & "'" & " " & fieldName(Combo8.Text) & " " & _
                fieldName(Combo3.Text) & Combo6.Text & "'" & Text3 & "'"
    MSHFlexGrid1.Clear '先清除
    
    '按条件有三种查询
    If Not Testtxt(Combo7.Text) Then
        txtSQL = txtSQL1
    Else
        If Not Testtxt(Combo2.Text) Or Not Testtxt(Combo5.Text) Or Not Testtxt(Text2.Text) Then
        MsgBox "请输入完整的查询条件", vbOKOnly + vbExclamation, "提示"
        Else
            If Not Testtxt(Combo8.Text) Then
                txtSQL = txtSQL2
            Else
                If Not Testtxt(Combo3.Text) Or Not Testtxt(Combo6.Text) Or Not Testtxt(Text3.Text) Then
                    MsgBox "请输入完整的查询条件", vbOKOnly + vbExclamation, "提示"
                Else
                    txtSQL = txtSQL3
                End If
            End If
        End If
    End If


10,SQL注入问题
对于这个问题我一直很疑惑,因为别人一直说的1'or '1'='1我好像注入不了,原来我已经防治注入了。
sql='select admin from user_info where userid=' '' & txtuser.text & ''' & ' and pwd=' & ''' & txtpassword.text & '''使用1'or '1'='1查询就变成了:select admin from user_info where userid='1'or '1'='1' and pwd='1'or '1'='1'
         这样的话,根据运算规则,这里一共有4个查询语句,那么查询结果就是 假or真and假or真,先算and 再算or,最终结果为真,将用户和密码分开查就好了不要在一个sql语句中(当然这只是其中一种办法),还有好多别的办法,参见http://blog.csdn.net/qiumuxia0921/article/details/12175677
 
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值