//int t3 = (int)TextBox3.Text;
//int t4 = (int)TextBox4.Text;
//int t5 = (int)TextBox5.Text;
//int t6 = (int)TextBox6.Text;
//int ave = (t3 + t4 + t5 + t6) / 4;
希望大家帮忙看一下,怎么才能进行类型转换啊,看了MSDN,里面只有一个VB的转换啊!
14 个解决方案
#1
先判断textbox里面的值是不是数字 用正则表达式
^\d+$
然后再int.parse(TextBox.Text)
^\d+$
然后再int.parse(TextBox.Text)
#2
int a = int.Parse(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);
#3
同意楼上
#4
int a = Convert.ToInt32(TextBox1.Text);
#5
#region //判断字符是否为数字
/// <summary>
/// 判断字符是否为数字
/// </summary>
/// <param name="_strNum">传入的字符串</param>
/// <returns>boolean</returns>
public static bool isNumeric(string _strNum)
{
if (_strNum == null || _strNum == string.Empty)
return false;
for (int i = 0; i < _strNum.Length; i++)
{
if (!Char.IsNumber(_strNum, i))
return false;
}
return true;
}
#endregion
/// <summary>
/// 判断字符是否为数字
/// </summary>
/// <param name="_strNum">传入的字符串</param>
/// <returns>boolean</returns>
public static bool isNumeric(string _strNum)
{
if (_strNum == null || _strNum == string.Empty)
return false;
for (int i = 0; i < _strNum.Length; i++)
{
if (!Char.IsNumber(_strNum, i))
return false;
}
return true;
}
#endregion
#6
leo_boy(www.morock.net)
int a = Convert.ToInt32(TextBox1.Text);
同意!!!!!
int a = Convert.ToInt32(TextBox1.Text);
同意!!!!!
#7
int a=Int32.Parse(TextBox1.Text);
#8
浏览器防假死测试AJAX页面
#9
用Convert.ToInt32();
要确认TextBox.Text存在值且为数字,要不然就出错了.
要确认TextBox.Text存在值且为数字,要不然就出错了.
#10
没有考虑到要先判断是否为数字
学习了
学习了
#11
int t3 =Convert.ToInt32(TextBox3.Text);
int t4 = Convert.ToInt32(TextBox4.Text);
int t5 = Convert.ToInt32(TextBox5.Text);
int t6 = Convert.ToInt32(TextBox6.Text);
int ave =(t3 + t4 + t5 + t6) / 4;
string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
SqlCommand addScore = new SqlCommand(strCommand, myConnection);
myConnection.Open();
addScore.ExecuteNonQuery();
myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!
int t4 = Convert.ToInt32(TextBox4.Text);
int t5 = Convert.ToInt32(TextBox5.Text);
int t6 = Convert.ToInt32(TextBox6.Text);
int ave =(t3 + t4 + t5 + t6) / 4;
string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
SqlCommand addScore = new SqlCommand(strCommand, myConnection);
myConnection.Open();
addScore.ExecuteNonQuery();
myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!
#12
ding
#13
是不是‘avg’也要加‘“+avg+”’呀,我插入的时候就加了
#14
你上面的text4,5,6是转成数字了。但是下面插入数据库语句还是仍然用字符类,当然出错啦。
#1
先判断textbox里面的值是不是数字 用正则表达式
^\d+$
然后再int.parse(TextBox.Text)
^\d+$
然后再int.parse(TextBox.Text)
#2
int a = int.Parse(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);
#3
同意楼上
#4
int a = Convert.ToInt32(TextBox1.Text);
#5
#region //判断字符是否为数字
/// <summary>
/// 判断字符是否为数字
/// </summary>
/// <param name="_strNum">传入的字符串</param>
/// <returns>boolean</returns>
public static bool isNumeric(string _strNum)
{
if (_strNum == null || _strNum == string.Empty)
return false;
for (int i = 0; i < _strNum.Length; i++)
{
if (!Char.IsNumber(_strNum, i))
return false;
}
return true;
}
#endregion
/// <summary>
/// 判断字符是否为数字
/// </summary>
/// <param name="_strNum">传入的字符串</param>
/// <returns>boolean</returns>
public static bool isNumeric(string _strNum)
{
if (_strNum == null || _strNum == string.Empty)
return false;
for (int i = 0; i < _strNum.Length; i++)
{
if (!Char.IsNumber(_strNum, i))
return false;
}
return true;
}
#endregion
#6
leo_boy(www.morock.net)
int a = Convert.ToInt32(TextBox1.Text);
同意!!!!!
int a = Convert.ToInt32(TextBox1.Text);
同意!!!!!
#7
int a=Int32.Parse(TextBox1.Text);
#8
浏览器防假死测试AJAX页面
#9
用Convert.ToInt32();
要确认TextBox.Text存在值且为数字,要不然就出错了.
要确认TextBox.Text存在值且为数字,要不然就出错了.
#10
没有考虑到要先判断是否为数字
学习了
学习了
#11
int t3 =Convert.ToInt32(TextBox3.Text);
int t4 = Convert.ToInt32(TextBox4.Text);
int t5 = Convert.ToInt32(TextBox5.Text);
int t6 = Convert.ToInt32(TextBox6.Text);
int ave =(t3 + t4 + t5 + t6) / 4;
string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
SqlCommand addScore = new SqlCommand(strCommand, myConnection);
myConnection.Open();
addScore.ExecuteNonQuery();
myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!
int t4 = Convert.ToInt32(TextBox4.Text);
int t5 = Convert.ToInt32(TextBox5.Text);
int t6 = Convert.ToInt32(TextBox6.Text);
int ave =(t3 + t4 + t5 + t6) / 4;
string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
SqlCommand addScore = new SqlCommand(strCommand, myConnection);
myConnection.Open();
addScore.ExecuteNonQuery();
myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!
#12
ding
#13
是不是‘avg’也要加‘“+avg+”’呀,我插入的时候就加了
#14
你上面的text4,5,6是转成数字了。但是下面插入数据库语句还是仍然用字符类,当然出错啦。