在表中插入数据时显示错误 [英] Showing error while inserting data in table
本文介绍了在表中插入数据时显示错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在dot net mvc.i上工作正在创建webservices。它显示我这样的错误:
i m working on dot net mvc.i am creating webservices. it is showing me error like this:
System.Data.SqlClient.SqlException: Error converting data type varchar to numeric.
$将数据插入表格时b $ b
我尝试过:
我的存储过程是:
while inserting data in to table
What I have tried:
my stored procedure is:
CREATE Proc [dbo].[Usp_EmployeeCheckLocation_Insert]
@DeviceId nvarchar(50),
@EmployeeCode nvarchar(50),
@CallId nvarchar(50),
@Latitude decimal(18,10),
@Longitude decimal(18,10),
@Status nvarchar(50),
@Checkdate datetime,
@Source nvarchar(25),
@OtherVisitStatus nvarchar(50)
AS
IF @Status='CheckIn'
BEGIN
INSERT INTO EmployeeCheckLocation
(DeviceId,
EmployeeCode,
CallId,
Latitude,
Longitude,
Status,
CreatedOnUtc,
Source,
OtherVisitStatus)
values
(@DeviceId,
@EmployeeCode,
@CallId,
@Latitude,
@Longitude,
@Status,
@Checkdate,
@Source,
@OtherVisitStatus )
END
我的网络服务方法是:
and my web services method is:
[WebMethod]
public string EmployeeAttendanceLocation(string lati, string longi, string status, string checkDate, string deviceId, string callId, string empCode, string Source, string ProjectName, string OtherVisitStatus)
{
SqlConnection myConnection = new SqlConnection();
var conString = System.Configuration.
ConfigurationManager.ConnectionStrings["Server"];
string strConnString = conString.ConnectionString;
myConnection.ConnectionString = strConnString;
myConnection.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = myConnection;
cmd.CommandType = CommandType.StoredProcedure;
string msg = null;
// DateTime date = DateTime.UtcNow;
// date = DateTime.Parse(checkDate);
cmd.CommandText = "Usp_EmployeeCheckLocation_Insert";
cmd.Parameters.AddWithValue("@DeviceId", deviceId.ToString());
cmd.Parameters.AddWithValue("@EmployeeCode", empCode.ToString());
cmd.Parameters.AddWithValue("@CallId",callId.ToString());
cmd.Parameters.AddWithValue("@Latitude", lati.ToString());
cmd.Parameters.AddWithValue("@Longitude", longi.ToString());
cmd.Parameters.AddWithValue("@Status", status.ToString());
cmd.Parameters.AddWithValue("@Checkdate", checkDate.ToString());
cmd.Parameters.AddWithValue("@Source", Source.ToString());
cmd.Parameters.AddWithValue("@OtherVisitStatus",SqlDbType.NVarChar).Value=DBNull.Value;
int j = cmd.ExecuteNonQuery();
if (j > 0)
{
msg = "success";
}
else
{
msg = "fail";
}
cmd.Connection.Close();
return msg;
}
推荐答案
在每个参数上使用sqldbtype,就像你在最后一个参数中所做的那样
Hi,
use the sqldbtype at every parameter like u did at last parameter
这篇关于在表中插入数据时显示错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文