朋友,我想提出的,我已经在SQL服务器2008年创建存储过程的Windows窗体应用程序,然后在窗口中创建一个外部类形成这样如何提供参数到存储过程
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jain_milan.Common
{
public class Personal
{
string name, fathername, mothername, familyhead, dateofbirth,educationlvl, education, blood, gotra, panth, marrital;
public string Educationlvl
{
get { return educationlvl; }
set { educationlvl = value; }
}
public string Panth
{
get { return panth; }
set { panth = value; }
}
public string Gotra
{
get { return gotra; }
set { gotra = value; }
}
public string Blood
{
get { return blood; }
set { blood = value; }
}
public string Education
{
get { return education; }
set { education = value; }
}
public string DateOfBirth
{
get { return dateofbirth; }
set { dateofbirth = value; }
}
public string FamilyHead
{
get { return familyhead; }
set { familyhead = value; }
}
public string MotherName
{
get { return mothername; }
set { mothername = value; }
}
public string FatherName
{
get { return fathername; }
set { fathername = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public string Marrital
{
get { return marrital; }
set { marrital = value; }
}
}
}
在那里我已经创建获取设置功能适用于所有的paramerets 在另一个外部类我定义所有的存储过程,这样
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jain_milan.DataAction
{
public enum InsertStoredProcedure
{
insertpersonal,
insertressicontact,
insertoccupcontact,
insertspouse,
insert1children,
insert2children,
insert3children,
insert4children,
insert5children
}
}
之后将其插入到我再次创造了一个seprate类数据库,并通过类似的参数这
public class InsertAction
{
public bool Insertpersonal(Personal per)
{
SqlCommand cmd = Database.GetConnection().CreateCommand();
cmd.CommandText=InsertStoredProcedure.insertpersonal.ToString();
cmd.CommandType= CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@Name",per.Name));
cmd.Parameters.Add(new SqlParameter("@FatherName",per.FatherName));
cmd.Parameters.Add(new SqlParameter("@MotherName",per.MotherName));
cmd.Parameters.Add(new SqlParameter("@FamilyHead",per.FamilyHead));
cmd.Parameters.Add(new SqlParameter("@DateOfBirth",per.DateOfBirth));
cmd.Parameters.Add(new SqlParameter("@EducationLevel", per.Educationlvl));
cmd.Parameters.Add(new SqlParameter("@Education",per.Education));
cmd.Parameters.Add(new SqlParameter("@Blood",per.Blood));
cmd.Parameters.Add(new SqlParameter("@Gotra",per.Gotra));
cmd.Parameters.Add(new SqlParameter("@Panth",per.Panth));
cmd.Parameters.Add(new SqlParameter("@Marrital",per.Marrital));
bool ans = cmd.ExecuteNonQuery() > 0;
cmd.Dispose();
Database.CloseConnection();
return ans;
}}
然后提交按钮我已经做了提交动作编码....
private void submit_addbtn_Click(object sender, EventArgs e)
{
try
{
//personal data insert
Personal per = new Personal();
per.Name = nametxt.Text;
per.FatherName = f_nametxt.Text;
per.MotherName = m_nametxt.Text;
per.Gotra = gotra_txt.Text;
per.Panth = panthcb.Text;
per.FamilyHead = fhntext.Text;
per.Educationlvl = edulvlcb.Text;
per.Education = educb.Text;
per.Blood = bloodcb.Text;
per.Marrital = MarritalStatus;
per.DateOfBirth = (day + '/' + month + '/' + year).ToString();
if (new InsertAction().Insertpersonal(per))
{
MessageBox.Show("Personal Insertion Happen ");
}
else
{
MessageBox.Show(" Personal Insertion does not Happen ");
}
}}
在运行它显示错误的程序
过程或函数“ insertpersonal'期望参数'@educationlvl'未提供
Bu我已经提供了像所有其他参数然后最新问题发生..... 请解决这一点。请请请
嘿,现在它给同样的味精marrital – user2327043 2013-04-28 03:04:36
它的名字是一样的..所以命名问题 – user2327043 2013-04-28 03:05:26
检查你的存储过程 - 它在寻找什么?我猜想它正在寻找“婚姻”(一个r)(它告诉你的确切错误是什么?)。 – Gjeltema 2013-04-28 03:06:13