<asp:DataList ID="DataList1" runat="server" OnUpdateCommand="DataList1_UpdateCommand" Width ="800px" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" GridLines="Both" >
<ItemTemplate>
<%#DataBinder .Eval (Container.DataItem,"shifou") %><asp:LinkButton ID ="linkbutton2" runat ="server" CommandName ="update">阅读</asp:LinkButton>
</ItemTemplate>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<ItemStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
</asp:DataList>
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string str = "dddd";
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database.mdb"));
string sql = "update table1 set shifou='" + str + "' where 编号='" + DataList1.DataKeys[e.Item.ItemIndex].ToString () + "' ";
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
datebind();
}
提示的错误是:
我用的是VS2005和AEECSS数据库,不明白为什么出现这样的情况。帮帮忙
数据表中的字段是文本,编号是自动的。?
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。源错误:
行 55: conn.Open();
行 56: OleDbCommand cmd = new OleDbCommand(sql, conn);
行 57: cmd.ExecuteNonQuery();行 58: datebind();
行 59: }
<ItemTemplate>
<%#DataBinder .Eval (Container.DataItem,"shifou") %><asp:LinkButton ID ="linkbutton2" runat ="server" CommandName ="update">阅读</asp:LinkButton>
</ItemTemplate>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<ItemStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
</asp:DataList>
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string str = "dddd";
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database.mdb"));
string sql = "update table1 set shifou='" + str + "' where 编号='" + DataList1.DataKeys[e.Item.ItemIndex].ToString () + "' ";
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
datebind();
}
提示的错误是:
我用的是VS2005和AEECSS数据库,不明白为什么出现这样的情况。帮帮忙
数据表中的字段是文本,编号是自动的。?
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。源错误:
行 55: conn.Open();
行 56: OleDbCommand cmd = new OleDbCommand(sql, conn);
行 57: cmd.ExecuteNonQuery();行 58: datebind();
行 59: }
那就是int类型
string sql = "update table1 set shifou='" + str + "' where 编号=" + DataList1.DataKeys[e.Item.ItemIndex].ToString () + "";
把''去掉
编号='" + DataList1.DataKeys[e.Item.ItemIndex].ToString () + "' 你添加的是字符类型的