热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自己如何写mysql数据库_自己手写的一个初始化MySQL数据库的工具!

由于项目需要,我写了一个初始MySQL数据库的工具;一,思路:(1),首先读取包含mysql语句的脚本(其中有

由于项目需要,我写了一个初始MySQL数据库的工具;

一, 思路:

(1),首先读取包含mysql语句的脚本(其中有创建数据库,表,插入初始数据等!)。

(2),然后替换里面的一些数据值(如guid,注释等!)。

(3),把替换后的数据流重新写入mysql脚本。

(4),调用MySQL命令执行相应的命令。

主要思路结束!

二,   现具体过程如下:

1,主界面如图:

52e48f479a9a5ae29213a41e99130562.png

2,全局代码和构造方法如下:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode731655954c7be9d8835ece551b5385f8.pngstringIP;

731655954c7be9d8835ece551b5385f8.pngstringuserName;

731655954c7be9d8835ece551b5385f8.pngstringuserPwd;

731655954c7be9d8835ece551b5385f8.pngstringpath;

731655954c7be9d8835ece551b5385f8.pngstringmesg="";

731655954c7be9d8835ece551b5385f8.png        Boolean info=false;

731655954c7be9d8835ece551b5385f8.png//字符串形式的guid731655954c7be9d8835ece551b5385f8.pngstring_guID="";

731655954c7be9d8835ece551b5385f8.pngstringtimeMesg="";

731655954c7be9d8835ece551b5385f8.pnginti=0;

731655954c7be9d8835ece551b5385f8.png        

731655954c7be9d8835ece551b5385f8.png//测量间隔运行时间731655954c7be9d8835ece551b5385f8.pngStopwatch stop=newStopwatch();

731655954c7be9d8835ece551b5385f8.pngpublicToolForm()

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png            InitializeComponent();

f466905a3bcb5dcef110eab799825254.png        }

3,在按钮事件中验证了各个文本框中的值是否为空;IP地址和端口号的验证!

代码如下:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png/**1408c5260b2f05e450dee929db9be5f7.png///按钮事件

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///f466905a3bcb5dcef110eab799825254.png///

731655954c7be9d8835ece551b5385f8.pngprivatevoidbtnOK_Click(objectsender, EventArgs e)

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png            i=0;

1408c5260b2f05e450dee929db9be5f7.pngthis.lbMessage.Text="";

1408c5260b2f05e450dee929db9be5f7.png            IP=this.tbIP.Text.Trim();

1408c5260b2f05e450dee929db9be5f7.png            userName=this.tbUserName.Text.Trim();

1408c5260b2f05e450dee929db9be5f7.png            userPwd=this.tbPWD.Text.Trim();

1408c5260b2f05e450dee929db9be5f7.png            DirPath=Application.StartupPath;

1408c5260b2f05e450dee929db9be5f7.png            Regex regexIP=newRegex(@"^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})$");

1408c5260b2f05e450dee929db9be5f7.pngif(string.IsNullOrEmpty(IP))

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show("请输入服务器地址!");

1408c5260b2f05e450dee929db9be5f7.pngthis.tbIP.Focus();

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngelseif(string.IsNullOrEmpty(userName))

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show("请输入用户名!");

1408c5260b2f05e450dee929db9be5f7.pngthis.tbUserName.Focus();

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngelseif(string.IsNullOrEmpty(userPwd))

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show("请输入密码!");

1408c5260b2f05e450dee929db9be5f7.pngthis.tbPWD.Focus();

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngelseif(regexIP.IsMatch(IP)||(string.Compare(IP,"localhost",true)==0))

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//得到目录下的所有文件1408c5260b2f05e450dee929db9be5f7.pngstring[] files=Directory.GetFiles(DirPath);

1408c5260b2f05e450dee929db9be5f7.png//循环读文件1408c5260b2f05e450dee929db9be5f7.pngforeach(stringfileinfiles)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//如果后缀名为.sql文件1408c5260b2f05e450dee929db9be5f7.pngif(".sql".IndexOf(file.Substring(file.LastIndexOf(".")+1))>-1)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//把.sql文件全名加人到fileList集合中1408c5260b2f05e450dee929db9be5f7.pngfileList.Add(file);

5bcb1807ee3e00d2b3c225f0b3f5c751.png                    }5bcb1807ee3e00d2b3c225f0b3f5c751.png                }1408c5260b2f05e450dee929db9be5f7.png

1408c5260b2f05e450dee929db9be5f7.pngif(fileList.Count>1)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                    MessageBox.Show("目录下多个.sql文件!该程序只能读一个!");

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png                }1408c5260b2f05e450dee929db9be5f7.pngelseif(fileList.Count<1)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                    MessageBox.Show("目录下没有.sql文件&#xff01;");

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png                }1408c5260b2f05e450dee929db9be5f7.pngelse715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                    path&#61;fileList.First();

1408c5260b2f05e450dee929db9be5f7.pngthis.lbMessage.Text&#61;"正在导入数据&#xff01;请稍等

222530190136c9c4cfd237cc0d5cff99.png..";

1408c5260b2f05e450dee929db9be5f7.png//测量时间开始1408c5260b2f05e450dee929db9be5f7.pngstop.Start();

1408c5260b2f05e450dee929db9be5f7.png//调用主方法1408c5260b2f05e450dee929db9be5f7.pngMainMethod();

5bcb1807ee3e00d2b3c225f0b3f5c751.png                }5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngelse715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show("服务器IP地址不规范&#xff01;");

1408c5260b2f05e450dee929db9be5f7.pngthis.tbIP.Focus();

1408c5260b2f05e450dee929db9be5f7.pngreturn;

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.png           

f466905a3bcb5dcef110eab799825254.png        }731655954c7be9d8835ece551b5385f8.png

4&#xff0c; 如果输入符和规范&#xff0c;则调用主方法(主方法里实现思路中主要方法的调用)&#xff1b;

主方法代码如下&#xff1a;

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png/**1408c5260b2f05e450dee929db9be5f7.png///主方法

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///f466905a3bcb5dcef110eab799825254.png///

731655954c7be9d8835ece551b5385f8.pngprivatevoidMainMethod()

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.pngtry715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//读文件1408c5260b2f05e450dee929db9be5f7.pngstringfileRed&#61;ReadSQLFromFile(path);

1408c5260b2f05e450dee929db9be5f7.png//写文件1408c5260b2f05e450dee929db9be5f7.pngFile.WriteAllText(path, fileRed);

1408c5260b2f05e450dee929db9be5f7.png//调用进度条的timer1408c5260b2f05e450dee929db9be5f7.pngthis.timer1.Start();

1408c5260b2f05e450dee929db9be5f7.png//调用执行脚本文件的timer1408c5260b2f05e450dee929db9be5f7.pngthis.timer2.Start();

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngcatch(Exception ex)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show(ex.Message);

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.png

f466905a3bcb5dcef110eab799825254.png        }

5&#xff0c;    读脚本文件&#xff0c;替换guid标识的方法&#xff1b;

代码如下&#xff1a;

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png/**1408c5260b2f05e450dee929db9be5f7.png///读文件流,替换guid标示

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///f466905a3bcb5dcef110eab799825254.png///

731655954c7be9d8835ece551b5385f8.pngprivatestringReadSQLFromFile(stringpath)

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//新生成一个guid1408c5260b2f05e450dee929db9be5f7.pngGuid guId&#61;Guid.NewGuid();

1408c5260b2f05e450dee929db9be5f7.png//把guid转换为字符串形式的guid1408c5260b2f05e450dee929db9be5f7.png_guID&#61;"{"&#43;guId&#43;"}";

1408c5260b2f05e450dee929db9be5f7.png            FileStream fs&#61;null;

1408c5260b2f05e450dee929db9be5f7.pngstringstrQuery&#61;"";

1408c5260b2f05e450dee929db9be5f7.pngtry715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                fs&#61;newFileStream(path, FileMode.Open, FileAccess.Read);

1408c5260b2f05e450dee929db9be5f7.pngstringstrTemp&#61;Encoding.UTF8.GetString(ConvertStreamToByteBuffer(fs));

1408c5260b2f05e450dee929db9be5f7.png               

1408c5260b2f05e450dee929db9be5f7.png//用新生成的guid替换掉脚本文件中的guid;1408c5260b2f05e450dee929db9be5f7.pngstrQuery&#61;Regex.Replace(strTemp,&#64;"(\{[A-Fa-f0-9]{8}(-[A-Fa-f0-9]{4}){3}-[A-Fa-f0-9]{12}\})&#43;", _guID, RegexOptions.Singleline);

1408c5260b2f05e450dee929db9be5f7.pngintindexValue&#61;strQuery.IndexOf("USE")&#43;3;

1408c5260b2f05e450dee929db9be5f7.pngintindexStart&#61;indexValue;

1408c5260b2f05e450dee929db9be5f7.pngintindexEnd&#61;0;

1408c5260b2f05e450dee929db9be5f7.pngwhile(strQuery.Substring(indexValue,1)!&#61;";")

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                    indexValue&#43;&#43;;

1408c5260b2f05e450dee929db9be5f7.png                    indexEnd&#61;indexValue;

5bcb1807ee3e00d2b3c225f0b3f5c751.png                }1408c5260b2f05e450dee929db9be5f7.png                DBName&#61;strQuery.Substring(indexStart, (indexEnd-indexStart));

1408c5260b2f05e450dee929db9be5f7.png                    

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngcatch(Exception ex)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                MessageBox.Show(ex.Message);

1408c5260b2f05e450dee929db9be5f7.png                strQuery&#61;"";

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngfinally715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                fs.Close();

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.png           

1408c5260b2f05e450dee929db9be5f7.pngreturnstrQuery;

f466905a3bcb5dcef110eab799825254.png        }731655954c7be9d8835ece551b5385f8.png

6&#xff0c;把替换后的字符串写入脚本文件&#xff1a;

代码如下&#xff1a;

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode731655954c7be9d8835ece551b5385f8.pngFile.WriteAllText(path, fileRed);

7&#xff0c;然后是开启两个timer&#xff0c;一个控制进度条&#xff0c;另一个获取执行时间的间隔。这里略。。。

8&#xff0c;在获取执行时间的timer事件中&#xff0c;调用执行脚本文件的方法。

该方法的代码如下&#xff1a;

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png/**1408c5260b2f05e450dee929db9be5f7.png///调用mysql命令来执行脚本文文件

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///f466905a3bcb5dcef110eab799825254.png///

731655954c7be9d8835ece551b5385f8.pngpublicstringRunCmd()

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png            Stopwatch a&#61;newStopwatch();

1408c5260b2f05e450dee929db9be5f7.pnglongm&#61;a.ElapsedMilliseconds;

1408c5260b2f05e450dee929db9be5f7.pngstringmesg&#61;"";

1408c5260b2f05e450dee929db9be5f7.pngstringmesgError&#61;"";

1408c5260b2f05e450dee929db9be5f7.png            Process p&#61;null;

1408c5260b2f05e450dee929db9be5f7.pngtry715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

e083dfde5a91f50979fe8979b4012b9d.png

715f2d05503b99d41f3b6ba2cdccc84d.png进入cmd调用mysql命令来执行脚本文件#region进入cmd调用mysql命令来执行脚本文件1408c5260b2f05e450dee929db9be5f7.png                p&#61;newProcess();

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.FileName&#61;"cmd.exe";

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.UseShellExecute&#61;false;

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.RedirectStandardInput&#61;true;

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.RedirectStandardOutput&#61;true;

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.RedirectStandardError&#61;true;

1408c5260b2f05e450dee929db9be5f7.png                p.StartInfo.CreateNoWindow&#61;true;

1408c5260b2f05e450dee929db9be5f7.png                p.Start();

1408c5260b2f05e450dee929db9be5f7.png//p.StandardInput.WriteLine(&#64;"net start mysql");1408c5260b2f05e450dee929db9be5f7.pngp.StandardInput.WriteLine(&#64;"c:");

1408c5260b2f05e450dee929db9be5f7.png                p.StandardInput.WriteLine(&#64;"cd C:\Program Files\MySQL\MySQL Server 5.0\bin");

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png                p.StandardInput.WriteLine(string.Format("mysql.exe -h{0} -u{1} -p{2} -f{3}\"", IP, userName, userPwd, path));

1408c5260b2f05e450dee929db9be5f7.png                p.StandardInput.WriteLine("exit");

1408c5260b2f05e450dee929db9be5f7.png                mesgError&#61;p.StandardError.ReadToEnd();

1408c5260b2f05e450dee929db9be5f7.png                mesg&#61;mesgError;

1408c5260b2f05e450dee929db9be5f7.png                p.WaitForExit();

5bcb1807ee3e00d2b3c225f0b3f5c751.png#endregion5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngcatch(Exception err)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//MessageBox.Show(err.Message);//显示错误信息。1408c5260b2f05e450dee929db9be5f7.pngmesg&#61;err.Message;

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngfinally715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                p.Close();

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngreturnmesg;

f466905a3bcb5dcef110eab799825254.png        }731655954c7be9d8835ece551b5385f8.png

9,把给定的文件流转换为二进制字节数组的方法,

代码如下:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.png把给定的文件流转换为二进制字节数组byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)#region把给定的文件流转换为二进制字节数组byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png/**1408c5260b2f05e450dee929db9be5f7.png///把给定的文件流转换为二进制字节数组。

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///5bcb1807ee3e00d2b3c225f0b3f5c751.png///

1408c5260b2f05e450dee929db9be5f7.pngpublicbyte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.pngintb1;

1408c5260b2f05e450dee929db9be5f7.png            System.IO.MemoryStream tempStream&#61;newSystem.IO.MemoryStream();

1408c5260b2f05e450dee929db9be5f7.pngwhile((b1&#61;theStream.ReadByte())!&#61;-1)

715f2d05503b99d41f3b6ba2cdccc84d.png

e083dfde5a91f50979fe8979b4012b9d.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png                tempStream.WriteByte(((byte)b1));

5bcb1807ee3e00d2b3c225f0b3f5c751.png            }1408c5260b2f05e450dee929db9be5f7.pngreturntempStream.ToArray();

5bcb1807ee3e00d2b3c225f0b3f5c751.png        }f466905a3bcb5dcef110eab799825254.png#endregion

10,控制进度条的timer事件;

代码如下:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode//控制进度条显示/privatevoidtimer1_Tick(objectsender, EventArgs e)

{try{this.progressBar1.Value&#61;i;

i&#43;&#61;10;if(i&#61;&#61;1000)

{this.timer1.Stop();if(string.IsNullOrEmpty(mesg)&&info)

{

lbMessage.Text&#61;"数据导入成功&#xff01;"&#43;timeMesg;newMCFrom(_guID, IP, userName, userPwd, DBName).ShowDialog();

}else{

lbMessage.Text&#61;"数据导入失败&#xff01;";

}

stop.Reset();

}

}catch(System.Exception )

{

}

}

11,获取执行时间间隔的time事件;

代码如下:

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngCode24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png/**1408c5260b2f05e450dee929db9be5f7.png///调用执行脚本文件的方法&#xff0c;并得到从点击按钮到成功导入数据库后的间隔时间。

1408c5260b2f05e450dee929db9be5f7.png///1408c5260b2f05e450dee929db9be5f7.png///f466905a3bcb5dcef110eab799825254.png///

731655954c7be9d8835ece551b5385f8.pngprivatevoidtimer2_Tick(objectsender, EventArgs e)

24a924a57ba6b3f2b51fc9edb7ea4186.png

9310e85a14af99de4811ff4c77f1f911.png222530190136c9c4cfd237cc0d5cff99.png{

1408c5260b2f05e450dee929db9be5f7.png//执行文件中的命令1408c5260b2f05e450dee929db9be5f7.pngmesg&#61;RunCmd();

1408c5260b2f05e450dee929db9be5f7.pngthis.timer2.Stop();

1408c5260b2f05e450dee929db9be5f7.png            info&#61;true;

1408c5260b2f05e450dee929db9be5f7.png            timeMesg&#61;stop.Elapsed.Seconds.ToString()&#43;"秒";

1408c5260b2f05e450dee929db9be5f7.png            stop.Stop();

f466905a3bcb5dcef110eab799825254.png        }

12,整个小工具大体的程序代码完成&#xff01;有些细节省略掉了 &#xff01;请在我的随笔里查看&#xff01;

a728892deccad84897bd2f7556d5b8eb.png



推荐阅读
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 目录1、将mysql数据导出到SQL文件中(数据库存在的情况)2、将现有的sql文件数据导入到数据库中(前提数据库存在) 3、利用Navicat导出SQL文件和导入SQL文件1)从 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • mysqldinitializeconsole失败_mysql03误删除了所有用户解决办法
    误删除了所有用户解决办法第一种方法(企业常用)1.将数据库down掉[rootdb03mysql]#etcinit.dmysqldstopShuttingdownMySQL..SU ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 如何修改MySQL数据库密码的方法及步骤详解
    本文详细介绍了四种修改MySQL数据库密码的方法,包括使用SET PASSWORD命令、mysqladmin命令、UPDATE语句直接编辑user表的步骤和操作示例。通过本文的指导,读者可以轻松掌握修改MySQL数据库密码的技巧和方法。 ... [详细]
author-avatar
Remember_Mi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有