Click here to Skip to main content
15,891,925 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
This seems to be a very common problem in my coding, and it's a different problem every time. The code I am trying to make takes the values of various controls and saves them into a database, to be reloaded onto the form when it's opened again. I thought it would be a simple matter of creating an Update command, give the parameters a value, executenonquery, give the parameters new values, and executenonquery again. However, the command is not recognizing that I have supplied a value.

VB
Dim DbConnection As New OleDbConnection(SaveString)
Dim SaveValuesCmd As New OleDbCommand("UPDATE Field_Values SET Selected_Item = ? WHERE Field_Value = ?", DbConnection)


DbConnection.Open()

Dim FieldValueParam As New OleDbParameter("?", OleDbType.Integer)
SaveValuesCmd.Parameters.Add(FieldValueParam)

Dim FieldNameParam As New OleDbParameter("?", OleDbType.VarChar)
SaveValuesCmd.Parameters.Add(FieldNameParam)

FieldNameParam.Value = "PlayHP"
FieldValueParam.Value = PlayHP.Value
'the error pops up in this first ExecuteNonQuery
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlaySP"
FieldValueParam.Value = PlaySP.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlaySTR"
FieldValueParam.Value = PlaySTR.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayLUC"
FieldValueParam.Value = PlayLUC.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayAGI"
FieldValueParam.Value = PlayAGI.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayINT"
FieldValueParam.Value = PlayINT.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlaySpirit"
FieldValueParam.Value = PlaySpirit.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayLife"
FieldValueParam.Value = PlayLife.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayMDEF"
FieldValueParam.Value = PlayMDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayPDEF"
FieldValueParam.Value = PlayPDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayRDEF"
FieldValueParam.Value = PlayRDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayMATK"
FieldValueParam.Value = PlayMATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayPATK"
FieldValueParam.Value = PlayPATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayRATK"
FieldValueParam.Value = PlayRATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "WpnMinDmg"
FieldValueParam.Value = RWpnMinDmg.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "WpnMaxDmg"
FieldValueParam.Value = RWpnMaxDmg.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlaySkillDmg"
FieldValueParam.Value = PlaySkillDmg.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayMAcc"
FieldValueParam.Value = PlayMAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayPAcc"
FieldValueParam.Value = PlayPAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayRAcc"
FieldValueParam.Value = PlayRAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayCritChance"
FieldValueParam.Value = PlayCritChance.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayCritMult"
FieldValueParam.Value = PlayCritMult.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BlockValue"
FieldValueParam.Value = BlockValue.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayDodge"
FieldValueParam.Value = PlayDodge.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetSTR"
FieldValueParam.Value = PetSTR.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetLUC"
FieldValueParam.Value = PetLUC.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetAGI"
FieldValueParam.Value = PetAGI.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetINT"
FieldValueParam.Value = PetINT.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetSpirit"
FieldValueParam.Value = PetSpirit.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetHP"
FieldValueParam.Value = PetHP.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetSP"
FieldValueParam.Value = PetSP.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetMDEF"
FieldValueParam.Value = PetMDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetPDEF"
FieldValueParam.Value = PetPDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetRDEF"
FieldValueParam.Value = PetRDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetMATK"
FieldValueParam.Value = PetMATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetPATK"
FieldValueParam.Value = PetPATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetRATK"
FieldValueParam.Value = PetRATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetMAcc"
FieldValueParam.Value = PetMAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetPAcc"
FieldValueParam.Value = PetPAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetRAcc"
FieldValueParam.Value = PetRAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetCritChance"
FieldValueParam.Value = PetCritChance.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetCritMult"
FieldValueParam.Value = PetCritMult.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetDodge"
FieldValueParam.Value = PetDodge.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetSkillDmg"
FieldValueParam.Value = PetSkillDmg.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobHP"
FieldValueParam.Value = MobHP.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobSP"
FieldValueParam.Value = MobSP.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobMDEF"
FieldValueParam.Value = MobMDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobPDEF"
FieldValueParam.Value = MobPDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobRDEF"
FieldValueParam.Value = MobRDEF.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobMATK"
FieldValueParam.Value = MobMATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobPATK"
FieldValueParam.Value = MobPATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobRATK"
FieldValueParam.Value = MobRATK.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobMAcc"
FieldValueParam.Value = MobMAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobPAcc"
FieldValueParam.Value = MobPAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobRAcc"
FieldValueParam.Value = MobRAcc.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobCritChance"
FieldValueParam.Value = MobCritChance.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobCritMult"
FieldValueParam.Value = MobCritMult.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "MobDodge"
FieldValueParam.Value = MobDodge.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlayskillLvl"
FieldValueParam.Value = PlaySkillLvl.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetSkillLvl"
FieldValueParam.Value = PetSkillLvl.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PetLevelNum"
FieldValueParam.Value = PetLevelNum.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "GoldValue"
FieldValueParam.Value = GoldValue.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SilverValue"
FieldValueParam.Value = SilverValue.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "CopperValue"
FieldValueParam.Value = CopperValue.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl1"
FieldValueParam.Value = SkillLvl1.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl2"
FieldValueParam.Value = SkillLvl2.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl3"
FieldValueParam.Value = SkillLvl3.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl4"
FieldValueParam.Value = SkillLvl4.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl5"
FieldValueParam.Value = SkillLvl5.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl6"
FieldValueParam.Value = SkillLvl6.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl7"
FieldValueParam.Value = SkillLvl7.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl8"
FieldValueParam.Value = SkillLvl8.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl9"
FieldValueParam.Value = SkillLvl9.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillLvl10"
FieldValueParam.Value = SkillLvl10.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "StrExp"
FieldValueParam.Value = StrExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "AgiExp"
FieldValueParam.Value = AgiExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "LucExp"
FieldValueParam.Value = LucExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "IntExp"
FieldValueParam.Value = IntExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SpiritExp"
FieldValueParam.Value = SpiritExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "LifeExp"
FieldValueParam.Value = LifeExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "SkillsExp"
FieldValueParam.Value = SkillsExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "ClothExp"
FieldValueParam.Value = ClothExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "LeatherExp"
FieldValueParam.Value = LeatherExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "ChainExp"
FieldValueParam.Value = ChainExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "PlateExp"
FieldValueParam.Value = PlateExp.Value
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseStrLbl"
FieldValueParam.Value = BaseStatForm.BaseStrLbl.Text
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseAgiLbl"
FieldValueParam.Value = BaseStatForm.BaseAgiLbl.Text
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseLucLbl"
FieldValueParam.Value = BaseStatForm.BaseLucLbl.Text
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseIntLbl"
FieldValueParam.Value = BaseStatForm.BaseIntLbl.Text
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseSpiritLbl"
FieldValueParam.Value = BaseStatForm.BaseSpiritLbl.Text
SaveValuesCmd.ExecuteNonQuery()

FieldNameParam.Value = "BaseLifeLbl"
FieldValueParam.Value = BaseStatForm.BaseLifeLbl.Text
SaveValuesCmd.ExecuteNonQuery()

DbConnection.Close()


I imagine the problem may have something to do with the way I formatted the code, as that seems to be the number one reason why I receive errors, but I haven't found anything in my bing search that would tell me if that was the case (it's hard to tell because most people who receive this error seem to have large numbers of parameters and they all have their own format though with similar syntax to my own).
Posted

1 solution

It has nothing to do with how you "formatted" your code. Formatting (indentation spaces) doesn't have anything to do with how the code executes.

Access doesn't use named parameters. You have to add the parameters to the command object in the order that they appear in the SQL statement. Your parameters appear to be added in the wrong order.
 
Share this answer
 
Comments
KitsunePhoenix 3-Jul-15 14:55pm    
wasn't quite the correct answer (my fault, I didn't provide the info you would need for the correct solution) but it did help me find the problem. The problem was with the SQL statement, I had the wrong field names in the wrong places. I guess sometimes you just need an outside eye to point out the obvious lolz. Thank you for your time.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900