Visual studio 2010 ORA-00911:无效字符,visual studio 2010使用aspxgridview
当我试图在oracle数据库中插入一行时,我遇到了这个错误。。im使用aspxgridview提供的删除、插入功能 我听说它可能是一个“;”在sql指令的末尾,但没有“;”在这个sql语句中,这是包含用于插入、更新等sql指令的代码Visual studio 2010 ORA-00911:无效字符,visual studio 2010使用aspxgridview,visual-studio-2010,oracle,gridview,Visual Studio 2010,Oracle,Gridview,当我试图在oracle数据库中插入一行时,我遇到了这个错误。。im使用aspxgridview提供的删除、插入功能 我听说它可能是一个“;”在sql指令的末尾,但没有“;”在这个sql语句中,这是包含用于插入、更新等sql指令的代码 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues" ConnectionStrin
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:ConnectionStringora %>"
DeleteCommand="DELETE FROM "MAQUINA" WHERE "PATENTE" = ? AND "MARCA" = ? AND "MODELO" = ? AND "AÑO" = ? AND "FECHA_ADQUISICION" = ? AND "ESTADO" = ? AND "IDCONDUCTOR" = ? AND "IDMANTENCION" = ?"
InsertCommand="INSERT INTO "MAQUINA" ("PATENTE", "MARCA", "MODELO", "AÑO", "FECHA_ADQUISICION", "ESTADO", "IDCONDUCTOR", "IDMANTENCION") VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
OldValuesParameterFormatString="original_{0}"
ProviderName="<%$ ConnectionStrings:ConnectionStringora.ProviderName %>"
SelectCommand="SELECT "PATENTE", "MARCA", "MODELO", "AÑO", "FECHA_ADQUISICION", "ESTADO", "IDCONDUCTOR", "IDMANTENCION" FROM "MAQUINA""
UpdateCommand="UPDATE "MAQUINA" SET "MARCA" = ?, "MODELO" = ?, "AÑO" = ?, "FECHA_ADQUISICION" = ?, "ESTADO" = ?, "IDCONDUCTOR" = ?, "IDMANTENCION" = ? WHERE "PATENTE" = ? AND "MARCA" = ? AND "MODELO" = ? AND "AÑO" = ? AND "FECHA_ADQUISICION" = ? AND "ESTADO" = ? AND "IDCONDUCTOR" = ? AND "IDMANTENCION" = ?">
我认为它可能导致这个问题的另一个原因是日期字段(FECHA_adquisicon)。。aspxgridview使用dd-mm-yyy格式,我不知道oracle是否接受该格式,因为当我试图从“服务器资源管理器”(您可以查看数据库的部分)插入时,我对日期有问题,我得到了“ORA-01843不是有效的月份”错误。。所以我无法从那里插入
救命啊 “
是您的问题。用单引号(”
)替换它,它就会工作
*更新:
不要硬编码您的sql查询,而是从代码背后传递它。它会工作的。*谢谢您的回答..但是单引号(我是一个noob)会是什么样子?!!哈哈!我试过一次都不使用。。我从sql语句中删除了所有的“”,但我得到了相同的错误:(@LukeWoodward如果你在调试器中看到查询,你会看到@quot;not”,因为@quot;是HTML而不是sql的原生语言。@AmitRanjan:我不确定我是否理解你的评论。没有
@quot;
s。没有s“
s作为ASP.NET发送到数据库,然后将替换为”
s。据我所知,提问者使用的”
这里是正确的。我猜这与编码有关。包含上述内容的XML文档是什么编码?数据库连接使用什么编码?如果从SQL中删除añO
列或将该列重命名为ANO
(在数据库和SQL中)?