本文介绍了为什么我得到错误“必须对标量@ ptr进行十分转换”我添加了所有值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
公共bool add_employee(string [] ptr,int age){
// 0,1,2,3,4,5,6,7,8, 9,10,11
SqlCommand cmd;
string query =插入员工(First_Name,Last_Name,年龄,电子邮件,CNIC,电话号码,HouseAddress,省,Hiredate,城市,工资,SSN)值(@ptr [0],@ ptr [1] ,@年龄,@的ptr [3],@ PTR [4],@ PTR [5],@ PTR [6],@ PTR [7],@ PTR [8],@ PTR [9],@ PTR [10 ],@的ptr [2]);
cmd = new SqlCommand(query,conection);
// 0 1,2,3,4,5 6 7 8 9 10 11
//(First_Name,Last_Name,年龄,电子邮件,CNIC,电话号码,HouseAddress,省, Hiredate,city,Salary,SSN)
//(@ ptr [0],@ ptr [1],@ age,@ ptr [3],@ ptr [4],@ ptr [5],@ ptr [6],@ PTR [7],@ PTR [8],@ PTR [9],@ PTR [10],@ PTR [11]);
cmd.Parameters.AddWithValue(@ ptr [0],ptr [0]); // f name
cmd.Parameters.AddWithValue(@ ptr [1],ptr [1]); // l name
cmd.Parameters.AddWithValue(@ age,age); // age
cmd.Parameters.AddWithValue(@ ptr [3],ptr [3]); // email
cmd.Parameters.AddWithValue(@ ptr [4],ptr [ 4]); // cnic
cmd.Parameters.AddWithValue(@ ptr [5],ptr [5]); // phone
cmd.Parameters.AddWithValue(@ ptr [6] ,ptr [6]); //住宅地址
cmd.Parameters.AddWithValue(@ ptr [7],ptr [7]); //省
cmd.Parameters.AddWithValue( @ptr [8],ptr [8]); // date
cmd.Parameters.AddWithValue(@ ptr [9],ptr [9]); // city
cmd.Parameters .AddWithValue(@ ptr [10],ptr [10]); // salary
cmd.Parameters.AddWithValue(@ ptr [2],ptr [2]); // ssn
if(cmd.ExecuteNonQuery()== 1)
{
reader.Close();
返回true;
}
其他
{
reader.Close();
返回false;
}
}
我的尝试:
i搜索谷歌关于必须声明标量错误但我已删除但仍然收到错误
解决方案
public bool add_employee(string []ptr,int age) { // 0 , 1 ,2 ,3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ,11 SqlCommand cmd; string query = "insert into Employee (First_Name,Last_Name,Age,Email,CNIC,Phone#,HouseAddress,Province,Hiredate,city,Salary,SSN) values(@ptr[0],@ptr[1],@age,@ptr[3],@ptr[4],@ptr[5],@ptr[6],@ptr[7],@ptr[8],@ptr[9],@ptr[10],@ptr[2])"; cmd = new SqlCommand(query,conection); // 0 1 ,2, 3 , 4 , 5 6 7 8 9 10 11 //(First_Name,Last_Name,Age,Email,CNIC,Phone#,HouseAddress,Province,Hiredate,city,Salary,SSN) //(@ptr[0], @ptr[1], @age,@ptr[3],@ptr[4],@ptr[5],@ptr[6],@ptr[7],@ptr[8],@ptr[9],@ptr[10],@ptr[11]); cmd.Parameters.AddWithValue("@ptr[0]", ptr[0]); // f name cmd.Parameters.AddWithValue("@ptr[1]", ptr[1]);//l name cmd.Parameters.AddWithValue("@age", age); //age cmd.Parameters.AddWithValue("@ptr[3]", ptr[3]);//email cmd.Parameters.AddWithValue("@ptr[4]", ptr[4]);//cnic cmd.Parameters.AddWithValue("@ptr[5]", ptr[5]);//phone cmd.Parameters.AddWithValue("@ptr[6]", ptr[6]);//house address cmd.Parameters.AddWithValue("@ptr[7]", ptr[7]);//province cmd.Parameters.AddWithValue("@ptr[8]", ptr[8]);//date cmd.Parameters.AddWithValue("@ptr[9]", ptr[9]);//city cmd.Parameters.AddWithValue("@ptr[10]", ptr[10]);//salary cmd.Parameters.AddWithValue("@ptr[2]", ptr[2]);//ssn if (cmd.ExecuteNonQuery() == 1) { reader.Close(); return true; } else { reader.Close(); return false; } }
What I have tried:
i searched on google about must declare scalar error but i have removed it but still getting error
解决方案
这篇关于为什么我得到错误“必须对标量@ ptr进行十分转换”我添加了所有值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!