Sql server VB.NET在插入SQL Server之前从格式化的电话号码中删除格式化
当输入电话号码时,我有一个字符串-有一个掩码,所以它看起来总是像(123)456-7890-我想在将其保存到DB之前去掉格式。我把它设置为只有10个字符作为nvarchar(10)-我只需要像这样的数字1234567890 如果您正在使用,则可以设置属性 当你得到文本属性时,你只得到字符,不包括格式化字符 请注意,我已将掩码设置为9,以仅允许数字。这当然取决于应用程序对电话号码的期望值。如果您使用的是a,则可以设置属性 当你得到文本属性时,你只得到字符,不包括格式化字符 请注意,我已将掩码设置为9,以仅允许数字。当然,这取决于应用程序对电话号码的期望值。另一种方法(基本上是将每个非数字字符替换为“”): 这将输出到:1234567890另一种方法(基本上将每个非数字字符替换为“”):Sql server VB.NET在插入SQL Server之前从格式化的电话号码中删除格式化,sql-server,vb.net,date,formatting,Sql Server,Vb.net,Date,Formatting,当输入电话号码时,我有一个字符串-有一个掩码,所以它看起来总是像(123)456-7890-我想在将其保存到DB之前去掉格式。我把它设置为只有10个字符作为nvarchar(10)-我只需要像这样的数字1234567890 如果您正在使用,则可以设置属性 当你得到文本属性时,你只得到字符,不包括格式化字符 请注意,我已将掩码设置为9,以仅允许数字。这当然取决于应用程序对电话号码的期望值。如果您使用的是a,则可以设置属性 当你得到文本属性时,你只得到字符,不包括格式化字符 请注意,我已将掩码设置为
这将输出到:1234567890您所说的遮罩是什么意思?你使用的是MaskedEditControl吗?@Proputix是的,我有一个masked控件,我试图基本上只在nvarchar(10)字段中插入数字。我的面具你说的面具是什么意思?你使用的是MaskedEditControl吗?@Proputix是的,我有一个masked控件,我试图基本上只在nvarchar(10)字段中插入数字。我的面具-“(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu也许你可以帮我-我在sql server中有一个字段设置为Datetime-但是vb.net尝试插入Datetime。现在由于PMI而引发错误。你可以打开另一个问题并将链接作为注释发布到此处…你也可以尝试将表字段更改为datetime2,看看问题是否得到解决:)或使用以下方法:
Datetime.Now.ToString(“yyyy-MM-dd HH:MM:ss”)
非常感谢您只需一件事,您可以根据需要编辑您的answe rif,但您需要将其包含在表单顶部,以便正则表达式工作。。。。。。。。。。导入System.Text.RegularExpressions也许你可以帮我-我在sql server中有一个字段设置为Datetime-但是从vb.net尝试插入Datetime。现在由于PMI而引发错误。你可以打开另一个问题并将链接作为注释发布到此处…你也可以尝试将表字段更改为datetime2,看看问题是否得到解决修正:)或使用此:Datetime.Now.ToString(“yyyy-MM-dd HH:MM:ss”)
非常感谢您只需一件事,您可能可以根据需要编辑您的answe-rif,但您需要将其包含在表单顶部,以便正则表达式正常工作。。。。。。。。。。导入System.Text.RegularExpressions这太棒了。谢谢这太棒了。谢谢
masked1.Mask = "(999)999-9999"
tb.Text = "(123)456-7890";
masked1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals
....
Console.WriteLine(masked1.Text) ' => 1234567890
Imports System.Text.RegularExpressions //You need to Import this Namespace
Dim phone as string = "(123) 456-7890 -"
Dim match as string = Regex.Replace(phone, "[^\d]", "")
Console.WriteLine(match)