C# 我的数据库项目的gridview和update仍然存在问题
我想更新一个球员的进球数,所以如果他进球了,我想更新他的进球数。。。 我的代码中有一个错误,我不知道如何修复它。谁能帮我修一下吗 我的代码:C# 我的数据库项目的gridview和update仍然存在问题,c#,asp.net,database,gridview,sql-update,C#,Asp.net,Database,Gridview,Sql Update,我想更新一个球员的进球数,所以如果他进球了,我想更新他的进球数。。。 我的代码中有一个错误,我不知道如何修复它。谁能帮我修一下吗 我的代码: string connectionStr = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\SoccerDataBase.mdb"; using (OleDbConnection sqlCon = new OleDbConnection(connecti
string connectionStr = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\SoccerDataBase.mdb";
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
sqlCon.Open();
string queryStr = "SELECT Achievement FROM SoccerAchievements WHERE UserID=@AchNums";
OleDbCommand sqlCmd = new OleDbCommand(queryStr, sqlCon);
sqlCmd.Parameters.AddWithValue("@AchNums", (SoccerTable.FooterRow.FindControl("AchNums") as TextBox).Text.Trim());
OleDbDataAdapter dataAdapt = new OleDbDataAdapter(queryStr, sqlCon);
DataSet ds = new DataSet();
dataAdapt.Fill(ds, "SoccerAchievement");
DataRow row = ds.Tables["SoccerAchievement"].Rows[0];
int a = int.Parse(row[3].ToString());
a = a + int.Parse("@AchNums");
string query = "UPDATE SoccerAchievements SET Achievement= '" + a + "' WHERE UserID= @AchNums";
sqlCmd.ExecuteNonQuery();
}
我的GridView HTML代码:
<asp:GridView ID="SoccerTable" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
CellPadding="3" DataSourceID="AccessDataSource1">
<Columns>
<asp:BoundField DataField="ID" HeaderText="קוד שחקן" InsertVisible="False"
SortExpression="ID" />
<asp:BoundField DataField="Team" HeaderText="קבוצות" SortExpression="Team" />
<asp:BoundField DataField="Players" HeaderText="שחקנים"
SortExpression="Players" />
<asp:TemplateField HeaderText="הישגים">
<FooterTemplate>
<asp:TextBox ID="AchNums" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button class = "AddButton" ID="AddButton" runat="server" onclick="AddButton_Click" Text="עדכן" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
我的数据成就
图片:
请帮帮我,伙计们:)把这个换掉
OleDbDataAdapter dataAdapt=新的OleDbDataAdapter(queryStr,sqlCon)代码>
具有
OleDbDataAdapter dataAdapt=新的OleDbDataAdapter(sqlCmd)代码>
但是,您可能会在int.parse
代码中再次遇到错误。请同时更正该错误。感谢您的帮助,兄弟,我如何帮助我的int.parse错误?在int.parse中,您需要提供一个值“@achNums”被视为字符串。提供textboxs值,就像您在参数中添加的那样。像这样添加:int a=int.Parse(@AchNums.ToString());a=a+int.Parse(“@AchNums”)???0处无行表示查询未生成任何结果。您需要使用int.parse((SoccerTable.FooterRow.FindControl(“AchNums”)作为TextBox.Text.Trim())代码>检查表中是否有要传递的userid的记录您应该将参数中的userid传递给command对象,其中传递的是一个非userid的achnums,查看代码。