private void timer1_Tick(object sender, EventArgs e)
{
int a=0;// 为了符合数据库类型 ,可空类型;
Form4 mm = new Form4();
SqlConnection sqlconn = new SqlConnection(@"server=(local);database=xmgl;uid=sa;pwd=;Connection Timeout=30");
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand("select * from money",sqlconn); SqlDataReader sqlread = sqlcomm.ExecuteReader();
while(sqlread.Read())
{
//a = (int)sqlread.GetValue(4);
a = Convert.ToInt32(sqlread[4].ToString()); /这里显示输入字符串格式不对
if(a==0)
{
DateTime b=Convert.ToDateTime(sqlread[5].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if(a==1)
{
DateTime b = Convert.ToDateTime(sqlread[6].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if (a == 2)
{
DateTime b = Convert.ToDateTime(sqlread[7].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if (a > 2 && a <= 4)
{
DateTime b = Convert.ToDateTime(sqlread[8].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
}
}
{
int a=0;// 为了符合数据库类型 ,可空类型;
Form4 mm = new Form4();
SqlConnection sqlconn = new SqlConnection(@"server=(local);database=xmgl;uid=sa;pwd=;Connection Timeout=30");
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand("select * from money",sqlconn); SqlDataReader sqlread = sqlcomm.ExecuteReader();
while(sqlread.Read())
{
//a = (int)sqlread.GetValue(4);
a = Convert.ToInt32(sqlread[4].ToString()); /这里显示输入字符串格式不对
if(a==0)
{
DateTime b=Convert.ToDateTime(sqlread[5].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if(a==1)
{
DateTime b = Convert.ToDateTime(sqlread[6].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if (a == 2)
{
DateTime b = Convert.ToDateTime(sqlread[7].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
if (a > 2 && a <= 4)
{
DateTime b = Convert.ToDateTime(sqlread[8].ToString());
if(DateTime.Now>b)
{
mm.Show();
}
}
}
}
if( Microsoft.VisualBasic.Information.IsNumeric(a)){
a = Convert.ToInt32(sqlread[4].ToString()); /这里显示输入字符串格式不对
...
}
为空的的话Convert方法肯定出錯了。加个判断,为空的话赋为0:
a = (sqlread[4].ToString()=="" ? 0 : Convert.ToInt32(sqlread[4]));