zac*_*ack 5 c# sql-server stored-procedures type-conversion
我需要将我的xaml代码的文本框中的文本转换为C#中的整数值.我正在使用.NET 4.0和Visual Studio 2010.有没有办法在xaml标签本身或者我需要在C sharp中编写转换器.我尝试了以下但不工作:
Convert.ToInt32(this.txtboxname.Text)
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢.谢谢.
p.c*_*ell 15
建议在发送到SQL Server之前在代码隐藏中执行此操作.
int userVal = int.Parse(txtboxname.Text);
Run Code Online (Sandbox Code Playgroud)
也许尝试解析并选择让用户知道.
int? userVal;
if (int.TryParse(txtboxname.Text, out userVal)
{
DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here."); }
Run Code Online (Sandbox Code Playgroud)
您注意到的异常意味着您不在调用存储过程中包含该值.尝试在调用构建SQL Server调用的代码时在代码中设置调试器断点.
确保您实际将参数附加到SqlCommand.
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@ParamName", SqlDbType.Int);
cmd.Parameters["@ParamName"].Value = newName;
conn.Open();
string someReturn = (string)cmd.ExecuteScalar();
}
Run Code Online (Sandbox Code Playgroud)
也许在您的数据库上启动SQL事件探查器以检查正在发送/执行的SQL语句.
您不需要编写转换器,只需在处理程序/代码隐藏中执行此操作:
int i = Convert.ToInt32(txtMyTextBox.Text);
Run Code Online (Sandbox Code Playgroud)
要么
int i = int.Parse(txtMyTextBox.Text);
Run Code Online (Sandbox Code Playgroud)
Text文本框的属性是一种String类型,因此您必须在代码中执行转换.