C# 无法隐式转换类型';字符串';至';int';使用加法
如何修复错误?该错误出现在OrderNumber+AddOrderNumber和OrderNumber=sqlCmd1.ExecuteScalar().ToString()行上 谢谢这里是代码:C# 无法隐式转换类型';字符串';至';int';使用加法,c#,asp.net,C#,Asp.net,如何修复错误?该错误出现在OrderNumber+AddOrderNumber和OrderNumber=sqlCmd1.ExecuteScalar().ToString()行上 谢谢这里是代码: int AddOrderNumber = 1; int OrderNumber; TextBox1.Text = OrderNumber + AddOrderNumber; TextBox2.Text = DateTime.Now.ToString
int AddOrderNumber = 1;
int OrderNumber;
TextBox1.Text = OrderNumber + AddOrderNumber;
TextBox2.Text = DateTime.Now.ToString("MM-dd-yyyy");
TextBox3.Text = (string)Session["name"];
using (SqlConnection con6 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString))
{
//Grab Customer #
using (SqlCommand sqlCmd1 = new SqlCommand { CommandText = "SELECT TOP 1 [OrderNumber] FROM [datarep].[dbo].[OrderHeader] Order By [OrderNumber] DESC", Connection = con6 })
{
con6.Open();
object result = sqlCmd1.ExecuteScalar();
if (result != null)
{
OrderNumber = sqlCmd1.ExecuteScalar().ToString();
}
else
{
}
con6.Close();
}
}
OrderNumber
的类型为int
,您试图将字符串
传递给该变量。在sqlCmd1.ExecuteScalar().ToString()上执行转换.ToInt32
只需阅读编译器告诉您的内容。该错误准确地告诉您在这种情况下需要知道的所有信息。OrderNumber在数据库中存储为数字还是字符串?如果您打算对它进行计算,为什么要使用.ToString()
呢?它存储为一个整数,只需从ExecuteScalar()
中删除.ToString()
。根本没有理由转换数据库中的值。
OrderNumber = sqlCmd1.ExecuteScalar().ToString();
OrderNumber = Convert.ToInt32(sqlCmd1.ExecuteScalar().ToString());