通过.net窗口表单将新记录插入MS Access数据库 [英] Insert new record into MS Access Database through .net Window Form

查看:87
本文介绍了通过.net窗口表单将新记录插入MS Access数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

我是.net的新手,并且正在一个项目中尝试从Windows窗体在MS Access数据库中插入新记录.为此,我编写了以下代码.此代码显示新记录已成功添加的消息.但是,数据库中没有添加新记录.请帮我,以下代码需要做哪些更改.
谢谢.

< pre> OleDbConnection con =新的OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = Database1.mdb");
con.Open();
字符串str =插入FormA_Table(Name1,Fathers_Name,Husband_Name,DOB,Address_Of_Res,Address_of_practice,Medical_qualification,Degree_Qualification,year_of_passing,Name_of_institute,Reg_no,Reason_Name_Date_Rule,Requaled_date, Reg_date,Intern_From,Intern_To,Revision_Varified)值(" + txtName.Text +",@ fname,@ hname,@ dob,@ res_add,@ p_add,@ m_qualif," + txtQualification.Text +' ',@ year,''"+ txtInstitute.Text +"'',''"+ txtRegistration.Text +"''," + txtReason.Text +'',@ revdate,@ reentrydate,@ add_qualif, ""+ txtAddQualification.Text +"'',@ q_date,@ e_type,@ e_add," + txtRemarks.Text +'',@ na,@ reg_date,@ i_from,@ i_to,@ rev)";

OleDbCommand cmdInsert =新的OleDbCommand(str,con);
cmdInsert.Parameters.Add("@ fname",OleDbType.VarChar);
cmdInsert.Parameters ["@ fname"].Value = FName;
cmdInsert.Parameters.Add("@ hname",OleDbType.VarChar);
cmdInsert.Parameters ["@ hname"].Value = HName;

cmdInsert.Parameters.Add("@ dob",OleDbType.VarChar);
cmdInsert.Parameters ["@ dob"].Value = DOB1;

cmdInsert.Parameters.Add("@ res_add",OleDbType.VarChar);
cmdInsert.Parameters ["@ res_add"].Value = Res_Address; ;

cmdInsert.Parameters.Add("@ p_add",OleDbType.VarChar);
cmdInsert.Parameters ["@ p_add"].Value = Pra_Address;
cmdInsert.Parameters.Add("@ m_qualif",OleDbType.VarChar);
cmdInsert.Parameters ["@ m_qualif"].Value = med_qualif;
cmdInsert.Parameters.Add("@ year",OleDbType.Integer);
cmdInsert.Parameters ["@ year"].Value =年;
cmdInsert.Parameters.Add("@ rev_date",OleDbType.VarChar);
cmdInsert.Parameters ["@ rev_date"].Value = RevisedDate1;
cmdInsert.Parameters.Add("@ reentrydate",OleDbType.VarChar);
cmdInsert.Parameters ["@ reentrydate"].Value = reEntry1;
cmdInsert.Parameters.Add("@ add_qualif",OleDbType.VarChar);
cmdInsert.Parameters ["@ add_qualif"].Value = add_qualType;
cmdInsert.Parameters.Add("@ q_date",OleDbType.VarChar);
cmdInsert.Parameters ["@ q_date"].Value = qualifDate1; ;
cmdInsert.Parameters.Add("@ e_type",OleDbType.VarChar);
cmdInsert.Parameters ["@ e_type"].Value = emp_type;
cmdInsert.Parameters.Add("@ e_add",OleDbType.VarChar);
cmdInsert.Parameters ["@ e_add"].Value = Emp_add;
cmdInsert.Parameters.Add("@ na",OleDbType.VarChar);
cmdInsert.Parameters ["@ na"].Value = NA;
cmdInsert.Parameters.Add("@ reg_date",OleDbType.VarChar);
cmdInsert.Parameters ["@ reg_date"].Value = Reg_Date1;
cmdInsert.Parameters.Add("@ i_from",OleDbType.VarChar);
cmdInsert.Parameters ["@ i_from"].Value = InternFrom;
cmdInsert.Parameters.Add("@ i_to",OleDbType.VarChar);
cmdInsert.Parameters ["@ i_to"].Value = InternTo;
cmdInsert.Parameters.Add("@ rev",OleDbType.VarChar);
cmdInsert.Parameters ["@ rev"].Value = modified1;
int i = cmdInsert.ExecuteNonQuery();
如果(i& gt; 0)
MessageBox.Show(成功添加新记录");
其他
MessageBox.Show(保存新记录失败");
con.Close();
cmdInsert.Dispose();</pre>

Hello

I am new in .net, and working on a project in which i am trying to insert a new record in MS Access database from windows form. And for that i wrote the following code. This code show a message that New Record added successfuly. But no new record is added in databse. Plz help me, what are the required changes in following code.
Thank you.

<pre>OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database1.mdb");
con.Open();
string str = "insert into FormA_Table(Name1,Fathers_Name,Husband_Name,DOB,Address_Of_Res,Address_of_practice,Medical_qualification,Degree_Qualification,year_of_passing,Name_of_institute,Reg_no,Reason_Name_Date_Rule,Revised_date,ReEntry_date,Additional_qualification,Additional_Qualification1,Additional_Qualif_Date,emp_info,Address_of_Employer,Remarks,Sign_Registrar,Reg_date,Intern_From,Intern_To,Revision_Varified)values(''" + txtName.Text + "'',@fname,@hname,@dob,@res_add,@p_add,@m_qualif,''" + txtQualification.Text + "'',@year,''" + txtInstitute.Text + "'',''" + txtRegistration.Text + "'',''" + txtReason.Text + "'',@revdate,@reentrydate,@add_qualif,''" + txtAddQualification.Text + "'',@q_date,@e_type,@e_add,''" + txtRemarks.Text + "'',@na,@reg_date,@i_from,@i_to,@rev)";

OleDbCommand cmdInsert = new OleDbCommand(str, con);
cmdInsert.Parameters.Add("@fname", OleDbType.VarChar);
cmdInsert.Parameters["@fname"].Value = FName;
cmdInsert.Parameters.Add("@hname", OleDbType.VarChar);
cmdInsert.Parameters["@hname"].Value = HName;

cmdInsert.Parameters.Add("@dob", OleDbType.VarChar);
cmdInsert.Parameters["@dob"].Value = DOB1;

cmdInsert.Parameters.Add("@res_add", OleDbType.VarChar);
cmdInsert.Parameters["@res_add"].Value = Res_Address; ;

cmdInsert.Parameters.Add("@p_add", OleDbType.VarChar);
cmdInsert.Parameters["@p_add"].Value = Pra_Address;
cmdInsert.Parameters.Add("@m_qualif", OleDbType.VarChar);
cmdInsert.Parameters["@m_qualif"].Value = med_qualif;
cmdInsert.Parameters.Add("@year", OleDbType.Integer);
cmdInsert.Parameters["@year"].Value = year;
cmdInsert.Parameters.Add("@rev_date", OleDbType.VarChar);
cmdInsert.Parameters["@rev_date"].Value = RevisedDate1;
cmdInsert.Parameters.Add("@reentrydate", OleDbType.VarChar);
cmdInsert.Parameters["@reentrydate"].Value = reEntry1;
cmdInsert.Parameters.Add("@add_qualif", OleDbType.VarChar);
cmdInsert.Parameters["@add_qualif"].Value = add_qualType;
cmdInsert.Parameters.Add("@q_date", OleDbType.VarChar);
cmdInsert.Parameters["@q_date"].Value = qualifDate1; ;
cmdInsert.Parameters.Add("@e_type", OleDbType.VarChar);
cmdInsert.Parameters["@e_type"].Value = emp_type;
cmdInsert.Parameters.Add("@e_add", OleDbType.VarChar);
cmdInsert.Parameters["@e_add"].Value = Emp_add;
cmdInsert.Parameters.Add("@na", OleDbType.VarChar);
cmdInsert.Parameters["@na"].Value = NA;
cmdInsert.Parameters.Add("@reg_date", OleDbType.VarChar);
cmdInsert.Parameters["@reg_date"].Value = Reg_Date1;
cmdInsert.Parameters.Add("@i_from", OleDbType.VarChar);
cmdInsert.Parameters["@i_from"].Value = InternFrom;
cmdInsert.Parameters.Add("@i_to", OleDbType.VarChar);
cmdInsert.Parameters["@i_to"].Value = InternTo;
cmdInsert.Parameters.Add("@rev", OleDbType.VarChar);
cmdInsert.Parameters["@rev"].Value = revised1;
int i= cmdInsert.ExecuteNonQuery();
if (i &gt; 0)
MessageBox.Show("New Record Added successfuly");
else
MessageBox.Show("Fail to save new record");
con.Close();
cmdInsert.Dispose();</pre>

推荐答案

拉吉尼,

代码看起来不错.请检查正确的数据库.可能是您在一个数据库中插入记录并在另一个数据库中查看,以检查此重命名您的数据库.快速查看插入查询,然后直接在数据库的查询窗口上运行并查看结果.
还有我建议参数映射后打开连接的一个建议.

V.Vishal
Hi Ragini,

Code looks OK. Please check correct database. It may be you are inserting records in one database and viewing in another database, to check this rename your database. Get insert query in quick watch and run directly on database''s query window and see the result.
and one suggestion from my side open connection after parameter mapping.

V.Vishal


这篇关于通过.net窗口表单将新记录插入MS Access数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆