Char to Int in asp.net

本文关键字:asp net in Int to Char | 更新日期: 2023-09-27 18:23:47

我的数据库中有一个名为product_no的列,其数据类型为char(25)

我希望能够搜索产品的名称,只需在搜索框中键入productno并检索结果。

我正在尝试下面的代码,但它不起作用。当我用数据库中数据类型为int的其他列替换product_no时,下面的代码就可以工作了。

我怀疑这个代码不起作用,因为product_no不是int。有什么想法吗?

public string getproductdetail(int ID)
{
    Product prod = new Product();
    string connectionString =
      "server=server;uid=user;pwd=pwd;database=DB;";
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        string sql = "Select name from dbo.product(nolock) Where product_no = " + ID.ToString();
        connection.Open();
  SqlCommand command = new SqlCommand(sql, connection);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            prod.name          = reader["name"].ToString();
        }
    }
}
}
[DataContract]
public class Product
{
[DataMember]
public string name;
}

Char to Int in asp.net

如果product_no不是int类型,则应在查询中使用'字符来输入参数。我建议使用SqlParameter

using (SqlConnection connection = new SqlConnection(connectionString))
    {
        string sql = "Select name from dbo.product(nolock) Where product_no = @product_no";
        connection.Open();
        SqlCommand command = new SqlCommand(sql, connection);
        command.Parameters.Add(new SqlParameter("@product_no", ID);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            prod.name = reader["name"].ToString();
        }
    }

在使用=运算符之前不需要它,但如果要使用between><等,则应将该Char转换为Int数据类型。除此之外,如果你想订购该列中的记录,你也应该转换它

要转换SQL查询中值的数据类型,可以尝试以下

string sql = 
    "Select name from dbo.product(nolock) Where CONVERT(int, product_no) = @product_no";

要获得适当的文档,请访问此处。

TRy Like This:

public string getproductdetail(int ID)
    {
        Product prod = new Product();
    String product_no=Convert.ToString(Id);
        string connectionString =
          "server=server;uid=user;pwd=pwd;database=DB;";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            string sql = "Select name from dbo.product(nolock) Where product_no = " + product_no.ToString();
            connection.Open();
      SqlCommand command = new SqlCommand(sql, connection);
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                prod.name          = reader["name"].ToString();
            }
        }
    }
    }
    [DataContract]
    public class Product
    {
    [DataMember]
    public string name;
    }