在表格中插入电话号码

时间:2011-11-24 00:08:04

标签: asp.net parameters insert string-formatting

如何使用asp.net将电话号码插入表格?

string insertquery = 
    "insert customer (
        id, name, address, gender, DOB, contactno, email, userid, password)
    values
        (@custid, @custname, @custaddress, @gender, @custdob,
        @custcno, @custemail, @custuserid, @custpassword)";

这里的custcno是电话号码。

 sc.Parameters.AddWithValue("@custcno",Convert.ToInt32(txtcustcno.Text));

正在运行时我收到错误输入字符串的格式不正确。

表中的

contactno是varchar(50)

3 个答案:

答案 0 :(得分:1)

我不确定问题:为什么Convert.ToInt32?许多电话号码格式都有空格,破折号(&)。这些会导致Convert.ToInt32抛出Input string was not in a correct format.

使用ASP.NET验证控件(或其他)执行预输入验证并执行此操作:

sc.Parameters.AddWithValue("@custcno",txtcustcno.Text);

答案 1 :(得分:1)

请勿将电话号码转换为int。将您的参数更改为:

 sc.Parameters.AddWithValue("@custcno",txtcustcno.Text);

答案 2 :(得分:1)

代码正在尝试将电话号码字符串转换为数字:

Convert.ToInt32(txtcustcno.Text)

因此,如果它包含任何非数字字符,如括号的破折号,那么它将抛出异常。

要在不先转换字符串的情况下插入字符串,请执行以下操作:

sc.Parameters.AddWithValue("@custcno", txtcustcno.Text);