问题描述
我想在VS2008中,将需要的图片根据数据库中一个风速的实时表显示的数据显示出来,例如,风速<=15时候,自动显示A图片;风速<=20时候,自动显示B图片;风速<=25时候,自动显示C图片;等等我写了如下代码,但是代码运行到如下地方的时候就跳过不运行了,没报错和警告,请高手看看,有什么问题。(1)跳过不运行的代码:if(Wind<=15){this.A_W1.Image=Image.FromFile("绿18x18.gif");}elseif(Wind<=20){this.A_W1.Image=WindowsFormsApplication1.Properties.Resources.灰18x18;}elseif(Wind<=25){this.A_W1.Load("灰18x18.gif");}elseif(Wind<=30){this.A_W1.Image=Image.FromFile("WindowsFormsApplication1.Properties.Resources\绿18x18.gif");}elseif(Wind<=12000){this.A_W1.Image=Image.FromFile("WindowsFormsApplication1.Properties.Resources\绿18x18.gif");}(2)总代码:privatevoidForm1_Paint(objectsender,EventArgse){if(A_W1.Image!=null){//清除Picturebox的图片A_W1.Image.Dispose();A_W1.Image=null;}//设置连接字符串stringconnectionString="datasource=localhost;userid=sa;pwd=12345678;database=RailWay;";//检索WS_Real表的SQL语句stringcmdText="selectWind_SpeedfromWS_Real";//创建SqlConnection类的实例,用于连接SQLServer数据库SqlConnectioncon=newSqlConnection(connectionString);try{//打开连接con.Open();//创建数据适配器SqlDataAdapterda=newSqlDataAdapter(cmdText,con);//创建DataSet,此时得到的是空数据集DataSetds=newDataSet();//填充数据集da.Fill(ds,"WS_Real");DataTabledt=ds.Tables["WS_Real"];stringstr=dt.Rows[0][0].ToString();intWind=Convert.ToInt32(str);if(Wind<=15){this.A_W1.Image=Image.FromFile("绿18x18.gif");}elseif(Wind<=20){this.A_W1.Image=WindowsFormsApplication1.Properties.Resources.灰18x18;}elseif(Wind<=25){this.A_W1.Load("灰18x18.gif");}elseif(Wind<=30){this.A_W1.Image=Image.FromFile("WindowsFormsApplication1.Properties.Resources\绿18x18.gif");}elseif(Wind<=12000){this.A_W1.Image=Image.FromFile("WindowsFormsApplication1.Properties.Resources\绿18x18.gif");}}catch(Exceptions){Console.WriteLine(s.Message);}finally{con.Close();}}
解决方案
解决方案二:
intWind=Convert.ToInt32(str);此处设个断点看看Wind是什么
解决方案三:
this.A_W1.Image=Image.FromFile("WindowsFormsApplication1.Properties.Resources\绿18x18.gif");这样读取文件的方式对不对
解决方案四:
调试下看执行到那了。进没进catch
解决方案五:
在SQL数据库中,为什么我更改完数据后,每次只有重新打开数据库,才可以SELECT到新数据。应该怎么做,有人知道吗,谢谢
解决方案六:
没点执行?