测试 2 同时我还有测试 4 但是测试 4 -> 测试 2 由于我将测试 1 更改为 2,它也简单地改变了-6ren">
gpt4 book ai didi

C# MySQL - "Update"正在选择每一行/所有内容

转载 作者:行者123 更新时间:2023-11-29 08:21:18 24 4
gpt4 key购买 nike

我的问题是,每次我尝试在 CMS 中更新时,它只会更新每一列/行。例如:我更新测试 1 -> 测试 2

同时我还有测试 4

但是测试 4 -> 测试 2 由于我将测试 1 更改为 2,它也简单地改变了这一点。

它们仍然可以通过 ID 正确工作,当我删除它们时,它们会单独删除,因此唯一与所有内容重叠的功能是更新。

我现在将发布我的代码(这是我所学到的,不要对安全性或 w/e 发表评论)只需要修复此问题,以便它只更新选定的 ID 行。

第一:

    public DataRow GetById(string ID)
{

strSQL = "SELECT ID, clnOverskrift, clnTekst "
+ "FROM tblForside "
+ "WHERE ID=@ID";

objCMD = new MySqlCommand(strSQL);
objCMD.Parameters.AddWithValue("@ID", ID);

return objData.GetData(objCMD, objCon).Rows[0];
}
public void Update(PropertyForside Pro)
{

strSQL = "UPDATE tblForside SET "
+ " clnOverskrift=@Overskrift, clnTekst=@Tekst ";

objCMD = new MySqlCommand(strSQL);
objCMD.Parameters.AddWithValue("@Overskrift", Pro.Overskrift);
objCMD.Parameters.AddWithValue("@Tekst", Pro.Tekst);

objData.ModifyData(objCMD, objCon);
}

我将同时使用 GetById 和 Update,这就是我包含两者的原因。如果您需要了解更多关于这个“工厂”的信息,我会发布它。

我明白了:

    FactoryForside fac = new FactoryForside();
PropertyForside Pro = new PropertyForside();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

DataRow dr = fac.GetById(Request.QueryString["ID"]);

txtOverskrift.InnerText = dr["clnOverskrift"].ToString();
txtText.InnerText = dr["clnTekst"].ToString();
}
}
protected void btnGem_Click(object sender, EventArgs e)
{
Pro.Overskrift = txtOverskrift.InnerText;
Pro.Tekst = txtText.InnerText;
Pro.ID = int.Parse(Request.QueryString["ID"]);

fac.Update(Pro);

Response.Redirect("RedigerForside.aspx");
}

我使用 InnerText 将 TextAreas 与 NiceEdit 结合使用。

添加新的可以工作,并且如前所述删除 - 只有这个更新的东西不能正常工作。它在浏览器中正确显示 ID "EditForside.aspx?id=13",但它似乎也选择了所有其他 ID

希望你能帮助我。

最佳答案

您的 UPDATE 语句必须包含 WHERE 条件 - 与您在选择中使用的条件相同。然后它将仅更新该特定行。如果没有 WHERE,它会更新表中的每一行。

文档:http://dev.mysql.com/doc/refman/5.0/en/update.html

关于C# MySQL - "Update"正在选择每一行/所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com