C#操作系统课件设计算法模拟模块算法模拟系统(13)
时间:2016-12-22 11:31 来源:毕业论文 作者:毕业论文 点击:次
try { string strPath = Application.StartupPath + "\\DiskOprate.mdb"; string ConStr = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + strPath; OleDbConnection oleCon = new OleDbConnection(ConStr); OleDbDataAdapter oleDap = new OleDbDataAdapter(Sql,oleCon); oleDap.Fill(ds, "设置数据"); return ds; oleCon.Dispose(); } catch { MessageBox.Show("数据库连接失败"); return ds; } 风险分析:在数据查询,以及事件绑定时由于错误数据而导致了系统奔溃,或者显示乱码。 解决方案:在可能发生异常的事件,以及数据连接的地方运用try /catch来检测。 6.1.2 用户错误数据 本算法模拟系统是一个主要通过用户输入数据,经过处理而得到相应的结果。所以用户的输入规范,就极其的重要。因为错误数据可能会导致系统的错误结果,或者使其出现系统异常从而导致程序崩溃。 如:int page = Change(textBox1.Text.Substring(0, 3)); 而change()类如下 public int Change(string two) { return (Convert.ToInt32(two, 2)); } 看上去没问题 但是用户在输入文本框数据不是二进制是此系统将奔溃。 风险分析:由于没有限制用户的输入,而用户输入的数据不一定满足条件,可能是误操作,因而错误的可能。程序只是通过截取字符串而导致错误无法尽心内置类的运行 解决办法:限制用户的输入,在文本框输入事件上进行判定。 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar >= '0' && e.KeyChar <= '1') || (e.KeyChar == (char)Keys.Back)) { e.Handled = false; return; } e.Handled = true; } 6.1.3 数据的转换 本系统在页面置换算法在获取页面使,由于数据是由文本转换为数字,在其之后的最佳适应算法要比对数据最迟之后出现。是将每数字在文本中的位置,这就将遇到数字转换为字符串,并且查找其相应的位置。 这也造成有以下可能: 字符串123,12,1 中查找 数字 1第一次出现的位置得到的结果就将错误。 风险分析:由于查找子字符串位置时,不能很好的获取其位置,系统只是查找出现此字符所位置,但有可能这位置不是预期的。从而导致错误的结论。 解决方案:要确保查找到的字符串位置是正确的,应该确保查找字符具有特殊性,在原字符串中不具有二义性。 (责任编辑:qin) |