Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将屏蔽文本框中的值插入数据库?_C#_C# 4.0 - Fatal编程技术网

C# 如何将屏蔽文本框中的值插入数据库?

C# 如何将屏蔽文本框中的值插入数据库?,c#,c#-4.0,C#,C# 4.0,我使用了此代码,但显示了错误 输入字符串的格式不正确 代码: 问题不在于将maskedtextbox'内容插入数据库。当解析您的屏蔽文本到int时,实际会出现此问题。在这里: int.Parse(maskedTextBox1.Text) 您的文本框中可能有一个被屏蔽的数字,如123-34-233等。在这种情况下,您首先需要清除字符串。(即,删除空格、破折号和除数字(整数)以外的所有其他字符)。如果尝试使用int.Parse(maskedTextBox1.text)将235-145_234类文本

我使用了此代码,但显示了错误

输入字符串的格式不正确

代码:


问题不在于将
masked
textbox'内容插入数据库。当
解析
您的屏蔽文本到
int
时,实际会出现此问题。在这里:

int.Parse(maskedTextBox1.Text)
您的文本框中可能有一个被屏蔽的数字,如123-34-233等。在这种情况下,您首先需要清除字符串。(即,删除空格、破折号和除数字(整数)以外的所有其他字符)。如果尝试使用
int.Parse(maskedTextBox1.text)
235-145_234
类文本转换为
int
,显然会出现异常,说明
输入字符串的格式不正确。因为
-
无法解析为整数

首先尝试从字符串中删除破折号,然后将其解析为int。如下所示:

string textBoxText = maskedTextBox1.Text;
textBoxText = textBoxText.Replace("-", "");
int number = int.parse(textBoxText);

然后将其插入数据库。

问题不在于将被屏蔽的
文本框内容插入数据库。当
解析
您的屏蔽文本到
int
时,实际会出现此问题。在这里:

int.Parse(maskedTextBox1.Text)
您的文本框中可能有一个被屏蔽的数字,如123-34-233等。在这种情况下,您首先需要清除字符串。(即,删除空格、破折号和除数字(整数)以外的所有其他字符)。如果尝试使用
int.Parse(maskedTextBox1.text)
235-145_234
类文本转换为
int
,显然会出现异常,说明
输入字符串的格式不正确。因为
-
无法解析为整数

首先尝试从字符串中删除破折号,然后将其解析为int。如下所示:

string textBoxText = maskedTextBox1.Text;
textBoxText = textBoxText.Replace("-", "");
int number = int.parse(textBoxText);

然后将其插入数据库。

T-SQL中的
insert
不支持
WHERE
子句-您应该使用类似以下内容:

INSERT INTO dbo.TableYear(Col1) VALUES(Val1)
在C#中,您应该始终使用参数化查询来避免SQL注入攻击:

SqlCommand com = new SqlCommand("INSERT INTO dbo.TableYear(ColumnName) VALUES(@Value)");

com.Parameters.Add("@Value", SqlDbType.Int).Value = int.Parse(maskedTextBox1.Text);
您还需要使用
.ExecuteNonQuery()
来执行
插入
更新
删除
命令,因为这些语句不返回结果集:

com.ExecuteNonQuery();

T-SQL中的
INSERT
不支持
WHERE
子句-您应该使用如下内容:

INSERT INTO dbo.TableYear(Col1) VALUES(Val1)
在C#中,您应该始终使用参数化查询来避免SQL注入攻击:

SqlCommand com = new SqlCommand("INSERT INTO dbo.TableYear(ColumnName) VALUES(@Value)");

com.Parameters.Add("@Value", SqlDbType.Int).Value = int.Parse(maskedTextBox1.Text);
您还需要使用
.ExecuteNonQuery()
来执行
插入
更新
删除
命令,因为这些语句不返回结果集:

com.ExecuteNonQuery();

您的INSERT查询不正确,请从INSERT语句中删除where子句。您的INSERT查询不正确,请从INSERT语句中删除where子句。INSERT语句甚至没有尝试将数据从
MaskedTextBox插入数据库。它只是尝试将
MaskedTextBox
的内容转换为
int
。当
Text
属性失败时,它的值是多少?为什么要首先使用
MaskedTextBox
来输入
int
?Masked texbox的mask属性是0000-0000,我想在combobox中添加它。我对这个c#不太熟悉,所以我对它不太了解。
maskedTextBox1.Text
和你的
CurrentCulture
?它甚至没有试图将数据从
MaskedTextBox
插入数据库。它只是尝试将
MaskedTextBox
的内容转换为
int
。当
Text
属性失败时,它的值是多少?为什么要首先使用
MaskedTextBox
来输入
int
?Masked texbox的mask属性是0000-0000,我想在combobox中添加它。我对这个c#不太熟悉,所以我对它不太了解。
maskedTextBox1.Text
和您的
CurrentCulture
的值是多少?停止将SQL连接在一起!请改用参数化查询-始终-请!而且:
INSERT
不支持SQL Server中的
WHERE
子句。。。。。这不会work@user3701678如果它对你有用,请考虑投票和接受ANSER。停止连接在一起的SQL!请改用参数化查询-始终-请!而且:
INSERT
不支持SQL Server中的
WHERE
子句。。。。。这不会work@user3701678如果它对你有用,请考虑投票和接受ANSER。