【发布时间】:2019-07-30 08:26:08
【问题描述】:
String query = "insert into Odisha_Customer_data([Share _Id], FirstName, MiddleName, LastName, FatherHusbandName, MotherName, "
+ "id, DOB, Age, CustNatureDesc, [Date of Membership], "
+ "Religion, Nationality, UID, PAN, Segment, IntroducerAccNo, EmpCode, IDproof, IDProofNo, ResidentialProofDesc, ResidentialProofNo, "
+ "AnnualIncomeDetails, [Risk Category of customer], [Closing Bal], Title, gender, category, occupation, community, Qualification, MaritalStatusDesc)"+
" SELeCT @ShareId, @FirstName, @MiddleName, @LastName, @FatherHusbandName, @MotherName, @id,"
+ "@DOB, @Age, @CustNatureDesc, @DateofMembership, @Religion, @Nationality, @UID, @PAN,"
+ " @Segment, @IntroducerAccNo, @EmpCode, @IDproof, @IDProofNo, @ResidentialProofDesc, @ResidentialProofNo, @AnnualIncomeDetails, @RiskCategoryofcustomer, @ClosingBal," +
"t.TitleID AS title, g.GenderId AS gender, cat.CatagoryID AS category, o.OccupationID AS Occupation, c.CommunityID AS Community, q.QualificationID AS Qualification," +
" m.MaritalStatusID AS MaritalStatus FROM Title AS t INNER JOIN Gender AS g ON t.Title = @title INNER JOIN Catagory AS cat ON cat.catagoryname = @Category " +
"INNER JOIN Occupation AS o ON o.OccupationName = @Occupation INNER JOIN Community AS c ON c.CommunityName = @Community " +
" INNER JOIN Qualification AS q ON q.QualificationName = @qualification INNER JOIN MaritalStatus AS m ON m.MaritalStatusDesc = @maritalStatusDesc " +
"WHERE @title Is Not Null AND g.gendername = @Gender AND @Category Is Not Null AND @Occupation Is Not Null " +
"AND @Community Is Not Null AND @qualification Is Not Null AND @maritalStatusDesc Is Not Null";
//query = "UPDATE a SET a.MaritalStatusDesc = b.MaritalStatusID From Odisha_Customer_data AS a INNER JOIN MaritalStatus AS b ON b.MaritalStatusDesc = '" + MaritalStatusDesc + "' where a.rowid = (Select max(rowid) as NewCustomer from Odisha_Customer_data)";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add(new SqlParameter("@title", string.IsNullOrEmpty(Title) ? (object)DBNull.Value : Title));
cmd.Parameters.Add(new SqlParameter("@Gender", string.IsNullOrEmpty(gender) ? (object)DBNull.Value : gender));
cmd.Parameters.Add(new SqlParameter("@Occupation", string.IsNullOrEmpty(occupation) ? (object)DBNull.Value : occupation));
cmd.Parameters.Add(new SqlParameter("@Category", string.IsNullOrEmpty(category) ? (object)DBNull.Value : category));
cmd.Parameters.Add(new SqlParameter("@Community", string.IsNullOrEmpty(community) ? (object)DBNull.Value : community));
cmd.Parameters.Add(new SqlParameter("@qualification", string.IsNullOrEmpty(Qualification) ? (object)DBNull.Value : Qualification));
cmd.Parameters.Add(new SqlParameter("@maritalStatusDesc", string.IsNullOrEmpty(MaritalStatusDesc) ? (object)DBNull.Value : MaritalStatusDesc));
cmd.Parameters.Add(new SqlParameter("@ShareId", string.IsNullOrEmpty(ShareId) ? (object)DBNull.Value : ShareId));
cmd.Parameters.Add(new SqlParameter("@FirstName", string.IsNullOrEmpty(FirstName) ? (object)DBNull.Value : FirstName));
cmd.Parameters.Add(new SqlParameter("@MiddleName", string.IsNullOrEmpty(MiddleName) ? (object)DBNull.Value : MiddleName));
cmd.Parameters.Add(new SqlParameter("@LastName", string.IsNullOrEmpty(LastName) ? (object)DBNull.Value : LastName));
cmd.Parameters.Add(new SqlParameter("@FatherHusbandName", string.IsNullOrEmpty(FatherHusbandName) ? (object)DBNull.Value : FatherHusbandName));
cmd.Parameters.Add(new SqlParameter("@MotherName", string.IsNullOrEmpty(MotherName) ? (object)DBNull.Value : MotherName));
cmd.Parameters.Add(new SqlParameter("@id", string.IsNullOrEmpty(id) ? (object)DBNull.Value : id));
cmd.Parameters.Add(new SqlParameter("@DOB", string.IsNullOrEmpty(DOB) ? (object)DBNull.Value : DOB));
cmd.Parameters.Add(new SqlParameter("@Age", string.IsNullOrEmpty(Age) ? (object)DBNull.Value : Age));
cmd.Parameters.Add(new SqlParameter("@CustNatureDesc", string.IsNullOrEmpty(CustNatureDesc) ? (object)DBNull.Value : CustNatureDesc));
cmd.Parameters.Add(new SqlParameter("@DateofMembership", string.IsNullOrEmpty(DateofMembership) ? (object)DBNull.Value : DateofMembership));
cmd.Parameters.Add(new SqlParameter("@Religion", string.IsNullOrEmpty(Religion) ? (object)DBNull.Value : Religion));
cmd.Parameters.Add(new SqlParameter("@Nationality", string.IsNullOrEmpty(Nationality) ? (object)DBNull.Value : Nationality));
cmd.Parameters.Add(new SqlParameter("@UID", string.IsNullOrEmpty(UID) ? (object)DBNull.Value : UID));
cmd.Parameters.Add(new SqlParameter("@PAN", string.IsNullOrEmpty(PAN) ? (object)DBNull.Value : PAN));
cmd.Parameters.Add(new SqlParameter("@Segment", string.IsNullOrEmpty(Segment) ? (object)DBNull.Value : Segment));
cmd.Parameters.Add(new SqlParameter("@IntroducerAccNo", string.IsNullOrEmpty(IntroducerAccNo) ? (object)DBNull.Value : IntroducerAccNo));
cmd.Parameters.Add(new SqlParameter("@EmpCode", string.IsNullOrEmpty(EmpCode) ? (object)DBNull.Value : EmpCode));
cmd.Parameters.Add(new SqlParameter("@IDproof", string.IsNullOrEmpty(IDproof) ? (object)DBNull.Value : IDproof));
cmd.Parameters.Add(new SqlParameter("@IDProofNo", string.IsNullOrEmpty(IDProofNo) ? (object)DBNull.Value : IDProofNo));
cmd.Parameters.Add(new SqlParameter("@ResidentialProofDesc", string.IsNullOrEmpty(ResidentialProofDesc) ? (object)DBNull.Value : ResidentialProofDesc));
cmd.Parameters.Add(new SqlParameter("@ResidentialProofNo", string.IsNullOrEmpty(ResidentialProofNo) ? (object)DBNull.Value : ResidentialProofNo));
cmd.Parameters.Add(new SqlParameter("@AnnualIncomeDetails", string.IsNullOrEmpty(AnnualIncomeDetails) ? (object)DBNull.Value : AnnualIncomeDetails));
cmd.Parameters.Add(new SqlParameter("@RiskCategoryofcustomer", string.IsNullOrEmpty(RiskCategoryofcustomer) ? (object)DBNull.Value : RiskCategoryofcustomer));
cmd.Parameters.Add(new SqlParameter("@ClosingBal", string.IsNullOrEmpty(ClosingBal) ? (object)DBNull.Value : ClosingBal));
cmd.ExecuteNonQuery();
con.Close();
我的完整代码是这样的,我只想要标题、性别等字符串值为空的地方,然后将 Null 保存在 DB 表中。但是使用此代码,只要标题、性别等字符串值为空,则不会插入数据。如果所有字符串都有值,那么数据将完美保存。请查看代码并纠正我。
【问题讨论】:
-
inner joins就是这样工作的——了解其他连接类型 -
你也应该好好利用whiteslace。这段代码真的很难读。
标签: c# sql .net sql-server