插入问题

时间:2019-04-11 15:48:43

标签: c# sql

我想在数据库中插入一些记事本数据。这是代码

cmd = new SqlCommand(@"insert into planificari(idlocalitate, frecventa, datastart, datastop) values(@idlocalitate, @frecventa, @datastart, @datastop)", con);
cmd.Parameters.AddWithValue("idllocalitate", idlocalitate);
cmd.Parameters.AddWithValue("frecventa", "ocazional");
cmd.Parameters.AddWithValue("datastart", dt1);
cmd.Parameters.AddWithValue("datastop", dt2);
cmd.ExecuteNonQuery();

我得到了这个错误:>>必须声明标量变量“ @idlocalitate”。

我该如何解决?

2 个答案:

答案 0 :(得分:3)

您有错字:

Function ModePageLeave
    MessageBox MB_YESNO "Installer is now going to uninstall existing software and reinstall software. Database files will be removed. Please confirm to proceed!" IDYES true IDNO false
        true:
        call silentUninst

        false:
        System::Call 'USER32::PostMessage(i$HWNDPARENT,i0x408,i-1,i0)'
        #Abort
FunctionEnd

答案 1 :(得分:1)

无论何时向SQLCommand添加值,都必须为值加上前缀: cmd.Parameters.AddWithValue("@idlocalitate", idlocalitate);

要插入的其他值也一样。

另外,正如@Panagiotis Kanavos指出的那样,使用AddWithValue而不是Add("@idlocalitate", your datatype, #).Value = idlocalitate方法是一种不好的做法。