<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[L_longqihang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/L_longqihang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; L_longqihang]]></copyright><item><title><![CDATA[记录QT离线安装包网址]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/104494374</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/104494374</guid><author>L_longqihang</author><pubDate>Tue, 25 Feb 2020 11:44:12 +0800</pubDate><description><![CDATA[https://www.qt.io/offline-installers
]]></description><category></category></item><item><title><![CDATA[MyISAM和InnoDB存储引擎的区别]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/100065121</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/100065121</guid><author>L_longqihang</author><pubDate>Sun, 25 Aug 2019 19:49:52 +0800</pubDate><description><![CDATA[MyISAM和InnoDB的区别


			MyISAM
			Innodb
		B树索引
			是
			是
		备份/时间点恢复（在服务器中实现，而不是在存储引擎中实现。）
			是
			是
		集群数据库支持
			没有
			没有
		聚集索引
			没有
			是
		压缩数据
			是（仅在使用压缩行格式时支持压缩MyISAM表。使用带MyISAM的压缩行格式的表是只读的。）
	...]]></description><category></category></item><item><title><![CDATA[c#通过调用系统库函数获取计算机物理屏幕尺寸]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/90348479</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/90348479</guid><author>L_longqihang</author><pubDate>Sun, 19 May 2019 21:49:18 +0800</pubDate><description><![CDATA[#region Win32 API
    [DllImport("user32.dll")]
    static extern IntPtr GetDC(IntPtr ptr);
    [DllImport("gdi32.dll")]
    static extern int GetDeviceCaps(IntPtr hdc, int nIndex );...]]></description><category></category></item><item><title><![CDATA[SQL注入详解]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/89317000</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/89317000</guid><author>L_longqihang</author><pubDate>Mon, 15 Apr 2019 17:49:24 +0800</pubDate><description><![CDATA[SQL注入
原理

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序，而这些输入大都是SQL语法里的一些组合，通过执行SQL语句进而执行攻击者所要的操作，其主要原因是程序没有细致地过滤用户输入的数据，致使非法数据侵入系统。

根据相关技术原理，SQL注入可以分为平台层注入和代码层注入。平台层注入由不安全的数据库配置或数据库平台的漏洞所致；代码层主要是由于程序员对输入未进行细致地过滤...]]></description><category></category></item><item><title><![CDATA[SSL工作原理]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/89250013</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/89250013</guid><author>L_longqihang</author><pubDate>Fri, 12 Apr 2019 18:16:06 +0800</pubDate><description><![CDATA[关键词：SSL，PKI，MAC

挑 希望：SSL使用数据加密、身份验证和消息完整性验证机制，基于TCP和其他的应用层协议提供可靠的连接安全保障。

本文介绍了SSL后台、安全机制、工作过程和典型网络应用。

缩略语：


			缩略语
			
			
			英文全名
			
			
			中文解释
			
		
			AES
			
			
			Advanced Encryptio...]]></description><category></category></item><item><title><![CDATA[冒泡算法优解]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/88855858</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/88855858</guid><author>L_longqihang</author><pubDate>Wed, 27 Mar 2019 21:23:10 +0800</pubDate><description><![CDATA[在书上常见的冒泡排序的实现都是采用内循环模式，时间复杂度是n的平方，使用以下方法可以优化冒泡算法。



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
  class Program
  {
 ...]]></description><category></category></item><item><title><![CDATA[VMWare 网络桥接获取ip失败解决方案]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/88684071</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/88684071</guid><author>L_longqihang</author><pubDate>Wed, 20 Mar 2019 11:27:22 +0800</pubDate><description><![CDATA[1.点击左上角的编辑，选择虚拟网络适配器



2.点击更改配置，此设置需要管理员权限





3.设置本机的桥接网卡，如果不知道本机的话可以多切换几次试一下就可以了，点击确定重启虚拟机即可。


...]]></description><category></category></item><item><title><![CDATA[win10系统免U盘安装]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/83061260</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/83061260</guid><author>L_longqihang</author><pubDate>Sun, 17 Mar 2019 17:13:02 +0800</pubDate><description><![CDATA[win10系统安装



Windows 10/64位下载地址：

pan.baidu.com/s/1CJcq8iPuCfNaLtFKt2Nabg

密码：8qdp

Windows 10/32位下载地址：

pan.baidu.com/s/1ooQmOrymJqQq0w_Z5wGDBg

密码：nzyc

温...]]></description><category></category></item><item><title><![CDATA[winform动态生成右键菜单]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/88621843</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/88621843</guid><author>L_longqihang</author><pubDate>Sun, 17 Mar 2019 17:11:35 +0800</pubDate><description><![CDATA[在窗口工具上拖一个contextmenuStrip，然后命名。

可以手动添加第一列，需要添加子菜单可以根据     ((ToolStripDropDownItem)(contextMenuStrip2.Items[1])).DropDownItems.Add(t1) 添加 



即根据items[序号]获取第一列的值。

列如：

ToolStripItem t1 = ne...]]></description><category></category></item><item><title><![CDATA[winform treeview 动态生成树形结构]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/88621628</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/88621628</guid><author>L_longqihang</author><pubDate>Sun, 17 Mar 2019 16:49:05 +0800</pubDate><description><![CDATA[数据模型为：id、文本、父亲id





创建TreeView： TreeView treeV = new TreeView();

绑定根目录：

     this.TreeV.Nodes.Clear();//清空节点
      TreeV_M.LabelEdit = false;//不可编辑
      //添加根结点
      Tr...]]></description><category></category></item><item><title><![CDATA[Linux 下几个文件操作命令的代码实现]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/85456198</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/85456198</guid><author>L_longqihang</author><pubDate>Tue, 08 Jan 2019 22:57:25 +0800</pubDate><description><![CDATA[用 C 语言实现命令 cp、df、mkdir、rm、tac

 

Linux 操作系统中的命令实际上是编译好的可执行程序，比如说 ls 这个命令，这个文件位于 /bin 目录下面，当我们用 file /bin/ls 命令查看的时候会有以下输出：


			1

			2

			3

			4
			
			
			[root@localhost ~]# file /bin/ls 

			/b...]]></description><category></category></item><item><title><![CDATA[sqlserver 触发器事件]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/83010751</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/83010751</guid><author>L_longqihang</author><pubDate>Thu, 11 Oct 2018 12:43:25 +0800</pubDate><description><![CDATA[ 

触发器模板：

create trigger 【触发器名】
on 【触发器所在的数据表名】
【after || befor】 [insert||update||delete]
as
begin
[触发事件]
end

在触发器中获取输入的值可以这样定义：declare @a int; 

获取刚刚输入的值： select @a = 【表中的字段名】 from inserted;   

获取...]]></description><category></category></item><item><title><![CDATA[winform去掉窗口中的放大，缩小，关闭按钮，再重新设计关闭缩小按钮]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/82347531</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/82347531</guid><author>L_longqihang</author><pubDate>Mon, 03 Sep 2018 13:46:00 +0800</pubDate><description><![CDATA[将formborderstyle设置为 None

这时候的窗口是无边框的，而且运行的时候是不能进行移动。

解决方案：

1.添加鼠标按下事件；

2.添加鼠标移动事件；

3.添加鼠标松开事件；

附上三个事件的代码：

 bool formMove = false;//窗体是否移动
        Point formPoint;//记录窗体的位置

 /// &amp;lt;summary&amp;gt;...]]></description><category></category></item><item><title><![CDATA[c#多窗口切换多线程]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/81949756</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/81949756</guid><author>L_longqihang</author><pubDate>Wed, 22 Aug 2018 19:37:10 +0800</pubDate><description><![CDATA[切换窗口使用这个语句，新打开的窗口就是另外一个线程，互不影响；

new Thread((ThreadStart)delegate{Application.Run(new Form1());}).Start(); ]]></description><category></category></item><item><title><![CDATA[MySQL触发器使用详解]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/81838125</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/81838125</guid><author>L_longqihang</author><pubDate>Sun, 19 Aug 2018 15:08:07 +0800</pubDate><description><![CDATA[ 

MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象，当触发器所在表上出现指定事件时，将调用该对象，即表的操作事件触发表上的触发器的执行。

创建触发器
在MySQL中，创建触发器语法如下：

代码如下:


CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigg...]]></description><category></category></item><item><title><![CDATA[c# comb主键生成]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/81750516</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/81750516</guid><author>L_longqihang</author><pubDate>Thu, 16 Aug 2018 23:12:06 +0800</pubDate><description><![CDATA[使用“COMB（Combine）”类型

COMB数据类型的基本设计思路是这样的：既然UniqueIdentifier数据因毫无规律可言造成索引效率低下，影响了系统的性能，那么我们能不能通过组合的方式，保留UniqueIdentifier的前10个字节，用后6个字节表示GUID生成的时间（DateTime），这样我们将时间信息与UniqueIdentifier组合起来，在保留UniqueIdent...]]></description><category></category></item><item><title><![CDATA[pycharme  无法运行chromedriver]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/80284272</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/80284272</guid><author>L_longqihang</author><pubDate>Sun, 12 Aug 2018 12:03:22 +0800</pubDate><description><![CDATA[ 

from selenium import webdriver

d=webdriver.Chrome('G:\software\Google\Chrome\Application\chromedriver.exe')
d.get(&quot;http://www.baidu.com&quot;)

print(d.page_source)

 

很多人在调用webdriver的时候无法打开游览器，即便是配置了...]]></description><category></category></item><item><title><![CDATA[c#中textbox动态通过代码改变文本内容显示]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/81570706</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/81570706</guid><author>L_longqihang</author><pubDate>Fri, 10 Aug 2018 22:18:29 +0800</pubDate><description><![CDATA[在进行客户端服务器端编程时，客户端或者服务的任意一方发送消息时，另一方需要显示出来，而textbox在打开后就不会变，除非有按钮点击，这是侯我们又需要一方发送，另一方马上显示出来，这个时候我们就可以加上这么一段代码：

TextBox.CheckForIllegalCrossThreadCalls = false;

这段代码的添加位置如下：

public Form1()
        {
 ...]]></description><category></category></item><item><title><![CDATA[c#动态生成右击菜单的子菜单]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/81536622</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/81536622</guid><author>L_longqihang</author><pubDate>Thu, 09 Aug 2018 14:50:36 +0800</pubDate><description><![CDATA[//count为从数据库取出的行的数目 

for (sum = 0; sum &amp;lt; count; sum++) {
                TypeText = data.Rows[sum][0].ToString();//获取行列中的值
                ToolStripItem t1 = new ToolStripMenuItem(TypeText);//新建一个...]]></description><category></category></item><item><title><![CDATA[vs2015安装出错，解决，通用]]></title><link>https://blog.youkuaiyun.com/L_longqihang/article/details/80831269</link><guid>https://blog.youkuaiyun.com/L_longqihang/article/details/80831269</guid><author>L_longqihang</author><pubDate>Wed, 27 Jun 2018 16:48:18 +0800</pubDate><description><![CDATA[万能通用的vs安装失败方法：一、删除残留：    1.将vs卸载，找到c:\program files(x86)\Microsoft Visual Studion 文件夹全部删除；    2.找到C:\ProgramData\Package Cache，将此文件夹删除（programdata为隐藏文件夹，需要将隐藏文件夹显示出来）    3.使用工具彻底删除安装残留的插件：工具下载地址：https...]]></description><category></category></item></channel></rss>