【问题标题】:ASP.Net VB SqlDataReader FormatASP.Net VB SqlDataReader 格式
【发布时间】:2013-03-07 17:52:57
【问题描述】:

我有一个从数据库读取数据的 SqlDataReader。如何格式化电话号码以在我的 aspx 页面上返回为 (123) 456-7890 而不是 1234567890?我的读者如下:

txtFaxPhone.Text = reader("FaxPhone").ToString()

【问题讨论】:

  • 这一点并不难。你想用空的、空白的较短的数字、较长的数字做什么。已经格式化数字?已经格式化的数字是另一种格式..
  • @TonyHopkinson 如果为空,请留空。数字未格式化。只需从数据库中读取数据并输出为电话号码格式。谢谢。
  • 我通过使用:txtFaxPhone.Text = Format(PhoneFormat(reader("FaxPhone").ToString()))
  • 甚至不知道有PhoneFormat。我会记住的。
  • 我认为没有任何 PhoneFormat 方法,我认为 OP 正在使用他们项目中已经定义的自定义方法。

标签: asp.net vb.net sqldatareader


【解决方案1】:

试试这样的:

If reader.IsDbNull(reader.GetOrdinal("FaxPhone"))
   txtFaxPhone.Text = String.Empty
Else
   txtFaxPhone.Text = String.Format("(000) 000-0000", reader("FaxPhone"))
End If

注意:这假设您的电话号码是一个数字。如果它是一个字符串,则必须对其进行子字符串化。

【讨论】:

  • 我尝试了您的建议并收到以下错误:System.IndexOutOfRangeException: FaxNumber。你会如何子串呢?
  • 听起来您使用“FaxNumber”而不是“FaxPhone”作为字段名称。是哪一个?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
  • 2011-04-03
相关资源
最近更新 更多