写注册表

程序中要求有个开机自动运行的备选功能,在网上查了查,大概有三种方法实现开机自动运行:开始菜单中的“启动”组,Windows服务,写注册表。我选择了写注册表,代码如下:

if (this.checkBox1.Checked==true)
                {
                    RegistryKey Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
                    string sFilePath = Application.ExecutablePath;
                    Reg.SetValue("DBExchanger",sFilePath);                
                }
                else 
                {
                    RegistryKey Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
                    Reg.DeleteValue("DBExchanger",true);
                }

使用委托

因为不能够向线程传递参数(可以定义一个类,准备好线程要使用的数据,然后把该类的方法传递给线程委托),也不会返回值,因此要想从线程返回值,可以使用委托。委托使用方法见C#中的代理(Delegate)

检测网络

程序要求在连接数据库之前要先检测网络是否连通,所以这里又用到了基于套接字的编程。

public bool CheckNet(string netid,int port)
        {
            bool flag=true; 
            string ip= netid.ToString();
          IPAddress myIP = IPAddress.Parse(ip);

          //根据给定的IP地址字符串,处理IPAddress实例
           try
          {
             EndPoint ep=new IPEndPoint(myIP,port);
             Socket sock=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
             sock.Connect(ep);
             if (sock.Connected)
             {
                 flag=true;
             }
          }     
          catch
          {
             flag=false;
          }
            return flag;
        }

最小化到系统托盘

设置窗体的SizeChanged事件,如下 :

private void Form1_SizeChanged(object sender, System.EventArgs e)
        {
            if (this.WindowState==System.Windows.Forms.FormWindowState.Minimized)
            {
                this.Hide();
                this.notifyIcon1.Visible=true;
            }

        }

MySql参数化查询

这个项目针对的是MySql数据库,以前没有用过,所以在写参数化查询语句还是像写SQL Server和Access参数化查询语句时一样,例如一条查询语句:

cmmd.CommandText="Update TableName Set Name=@Name,Data=@Data Where ID=@ID";
cmmd.Parameters.Add("@"+ClmName[0],MySql.Data.MySqlClient.MySqlDbType.String);
cmmd.Parameters[0].Value = "Peter"
cmmd.Parameters.Add("@"+ClmName[1],MySql.Data.MySqlClient.MySqlDbType.LongBlob);
cmmd.Parameters[1].Value = ByteArrayData;
cmmd.Parameters.Add(MySql.Data.MySqlClient.MySqlDbType.Int32);
cmmd.Parameters[0].Value = "20051102"

但就是怎么都更新不了,也没有错误信息,后来经人指点才知道,原来MySql的参数占位符是"?",我把cmmd.CommandText中的"@"改成"?"后就可以了。

转载于:https://www.cnblogs.com/supersand/archive/2005/11/01/266600.html

做项目的一点收获之二相关推荐

  1. unity3D与网页的交互---做项目的一点总结

    由于项目需要,要求用unity来展示三维场景,并在三维中能够方便的查询数据库等.一开始尝试在unity中直接连接数据库,当时连的xml,然而每次发布成网页后都会出现路径找不到等问题,所以迫不得已采用了 ...

  2. 最近做项目的总结与收获(2021年8月)

    最近做项目的总结与收获(2021年8月) 1 总结 1.1 做的事情 这个月也是做了一个中规中矩的微服务项目吧,一开始看到项目架构的时候觉得内容特别多,但实际做完之后发现其实还是驾驭的了的. 一个月下 ...

  3. 最近做项目带团队的一点感悟:什么是赚钱潜规则?

    最近不少人信誓旦旦的跑来WX上跟我说:童话,我买了你的课程,有几个问题不懂,请教下!要不就是:童话,我买了你的课程,怎么操作到某某步骤时就不行了呢? 反问:你们在哪买的我的课程? "淘宝上& ...

  4. 大二计算机跟老师做项目,在大学里,要不要和老师一起合作做项目?过来人说出实情...

    在大学里,要不要和老师一起合作做项目?过来人说出实情 在大学里,很多老师都会找自己的学生共同去做一些项目,当然,做不做是学生的自由,老师并不会强迫,有的人说不能和老师一起做项目容易被坑,有的人说能和老 ...

  5. 如何做项目或产品演示?

    项目或产品演示不是演讲,也不是答辩,更不是培训. 尽管在很多表达和现场互动技巧上,演讲,答辩,培训和演示都有相通的地方. 演讲更侧重对某一个问题看法的陈述,主要是交换观点,允许争鸣,听众可以不同意你的 ...

  6. 【转】做产品VS做项目

    相关定义 根据GB/T19000-2008<质量管理体系基础和术语>,有以下定义 过程process 一组将输入转化为输出的相互关联或相互作用的活动 注:一个过程的输入通常是其他过程的输出 ...

  7. 三点估算pmp_我本人是做项目经理的,我把考PMP也当成一个项目来规划

    一. 辅导班的好处 咨询过几位前辈后,我毫不犹豫的选择参加辅导班.说服自己的理由至少有以下三点: 1. PMP指南对大部分人是陌生的新学科和新模式,普遍反映上面的话不是人的语言,参加培训班可以有专业的 ...

  8. 项目管理必知项,做项目经理必须知道的几个事情

    一直觉得我们公司的项目管理比较奇葩,现在学习pmp之后发现原来如此.不是公司奇葩,是我自己水平不够误解公司了. 做项目经理,必须知道的几个事情.看了PMP看了他讲了很多,结合自己的实践经验,总结一下. ...

  9. 做项目的一些心得体会

    原文地址:转:做项目的一些心得体会作者:快乐吧900 发信人: sunshineyaya (sunshine), 信区: Innovation 标  题: [创新实验]经验分享  系列  NO.1 发 ...

最新文章

  1. hdu 4722(记忆化搜索)
  2. MATLAB中简单的数据库操作
  3. python与人工智能的关系_python和人工智能之间的关系是什么?老男孩Python人工智能...
  4. (五)Docker查看容器ip及指定固定IP
  5. H - Hello Ms. Ze(树状数组套主席树,线段树上二分)
  6. 带参数的URLconf
  7. centos7调节虚拟机字体_初次安装虚拟机中Ubuntu16.04系统设置的一些小问题(小白教程)...
  8. python之网络编程1-socket-tcp与udp
  9. android输入框圆形,GitHub - mylhyl/Android-CircleDialog: 仿IOS圆角对话框、进度条、列表框、输入框,ad广告框,支持横竖屏切换...
  10. open函数返回-1_记录学习python的第3天-递归函数/文件操作
  11. web前端技术基础课程讲解之浅谈对soket的理解
  12. html登录界面QQ微信图标,discuz修改QQ登录图标和微信登录图标的方法
  13. 使用神经网络(Keras)完成对土壤的湿度估计
  14. PB高拍仪无纸化软件方案
  15. 扩展卡尔曼滤波python_扩展卡尔曼滤波EKF与多传感器融合
  16. 大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页
  17. 车上控制器中英文对照
  18. 手机直播系统,仿映客直播程序项目需求
  19. JavaScript:用JS函数隐藏浏览器地址栏 .
  20. 埃及分数数学模型c语言,C语言将真分数分解为埃及分数代码解析

热门文章

  1. alert,confirm和prompt
  2. nginx 禁止IP访问服务器和非法域名绑定你的IP
  3. RHEL6入门系列之十三,阶段练习1
  4. java学习(4)--oracle
  5. DotNetNuke: System.Security.Cryptography.CryptographicException: Bad Data
  6. s3c2410_gpio_cfgpin函数解析
  7. 抽象工厂模式:实现ASP.NET访问不同数据库
  8. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型
  9. gin使用BasicAuth()(验证)中间件
  10. DevOps笔记-04:DevOps工具和文化缺一不可