C# 不允许从数据类型varchar隐式转换为varbinary。使用CONVERT函数运行此查询。我正在使用ajax工具包

C# 不允许从数据类型varchar隐式转换为varbinary。使用CONVERT函数运行此查询。我正在使用ajax工具包,c#,.net,sql-server-2008,C#,.net,Sql Server 2008,我在将数据插入SQL Server 2008数据库时遇到问题。 日期列的数据类型为datetime。我正在使用ajax日历扩展工具包 我的代码: Doj = textbox12.Text.ToString(); conn.Open(); cmd = conn.CreateCommand(); cmd.CommandText = "INSERT INTO Doctor(Doctor_ID,Doctor_Reg_No,Doctor_FName,Doctor_MName,Doctor_LName,D

我在将数据插入SQL Server 2008数据库时遇到问题。 日期列的数据类型为datetime。我正在使用ajax日历扩展工具包

我的代码:

Doj = textbox12.Text.ToString();
conn.Open();

cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO Doctor(Doctor_ID,Doctor_Reg_No,Doctor_FName,Doctor_MName,Doctor_LName,Doctor_Gender, Doctor_Address1, Doctor_Address2, Doctor_Landline, Doctor_Mobile1,Doctor_Mobile2,Doctor_Specialization,Doctor_Join_Date, Doctor_Department_ID) VALUES (@dID,@doc_re,@dfName,@dMN,@dLN,@dG,@da1,@da2,@d_con,@d_mo1,@d_mo2,@d_sp,@d_jo,@dept_id) ";

//converting Doj into sqldbtype for the sql injections     
cmd.Parameters.Add("@d_jo", sqlDbType: System.Data.SqlDbType.VarChar).Value = Doj.Trim();

cmd.ExecuteNonQuery();

医生加入日期栏的类型是什么?看起来您没有为值选择正确的数据类型。阅读:@SonerGönül数据类型是“Doctor_Join_Date”的datetime我对其他具有相同数据类型的表使用相同的编码,但这里给出了错误如果是datetime,为什么要将SqlDbType.VarChar作为db类型编写?为什么要将字符串插入为Doj.Trim?能否包含一些导致错误的示例数据?调试时Doj的值是多少?Doj是字符串类型变量,在调试的初始阶段保持值null,无论我在textbox12中插入什么日期,它都会得到值