使用c#从字符串中删除第一个字符

3 .net c# asp.net grid

我使用以下代码删除我的网格行.此外,我需要删除$符号,因为删除它时会导致删除时出现问题.我使用此代码将$ sign替换为空白空间,但它没有帮助.任何人都能纠正我吗?

 string Dollar = Dollars.Text.ToString();
 string dolreplace = Dollar.Substring(1, Dollar.Length - 1);
Run Code Online (Sandbox Code Playgroud)

所以我需要删除出现在Dollar列的美元符号.

protected void Details_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    Label ECode = (Label)Details.Rows[e.RowIndex].FindControl("lblCode");
    Label Dollars = (Label)Details.Rows[e.RowIndex].FindControl("lblDollars");
    string Dollar = Dollars.Text.ToString();
    string RemoveDollar = Dollar.Substring(1, Dollar.Length - 1);
    SqlConnection con = new SqlConnection(CS);
    con.Open();
     SqlCommand cmd = new SqlCommand("Delete from Application where Code= @Code and Dollar_Amount= @Dollars", con);
    cmd.Parameters.AddWithValue("@Code", Convert.ToDouble(Code.Text));
    cmd.Parameters.AddWithValue("@Dollars", Convert.ToInt32(RemoveDollar));
    cmd.ExecuteNonQuery();
    con.Close();
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alert", "alert('Deleted successfully');", true);
    BindGrid();
}
Run Code Online (Sandbox Code Playgroud)

Sud*_*udi 5

问题:您正在转换/分配Label为字符串变量.

解决方案:您需要使用TextLabel的属性将其值分配给(Dollars.Text)String变量.

解决方案1:

替换这个:

string Dollar = Dollars.ToString();
Run Code Online (Sandbox Code Playgroud)

有了这个:

string Dollar = Dollars.Text.ToString();
Run Code Online (Sandbox Code Playgroud)

要么

解决方案2:如果要删除第一个字符,请使用Substring()函数

string Dollar = Dollars.Text.ToString();
string dolreplace = Dollar.Substring(1, Dollar.Length-1);
Run Code Online (Sandbox Code Playgroud)

解决方案3:您将double和int值括在单引号中.您只需要在单引号中包含String类型.

你的uery是开放的SQL Injection Attacks.所以我建议你用它parameterised queries来避免它们.

试试这个:

SqlCommand cmd = new SqlCommand("Delete from Application where Code= @Code and Yearly_Dollar_Amount= @DollarAmt", con);

cmd.Parameters.AddWithValue("@Code",Convert.ToDouble(Code.Text));
cmd.Parameters.AddWithValue("@DollarAmt",int.Parse(dolreplace,System.Globalization.CultureInfo.InvariantCulture));
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)