C# c语言中的Sql查询

C# c语言中的Sql查询,c#,mysql,C#,Mysql,我正在用C 2010 Express编程 我的程序中有一个SQL数据库,其中一个名为HightAndWeightTable的表有四列。我想从第四列中选择一个称为风险的值,该值基于用户在域的上下框中输入的高度 因此,我在程序中的SQL查询是: SELECT Risk FROM HightAndWeightTable WHERE Hight LIKE '%" + domainUpDown1.Text + "%'" 。。。但这不起作用 另外,我们如何编写一个具有范围的SQL查询,例如,如果我想说

我正在用C 2010 Express编程

我的程序中有一个SQL数据库,其中一个名为HightAndWeightTable的表有四列。我想从第四列中选择一个称为风险的值,该值基于用户在域的上下框中输入的高度

因此,我在程序中的SQL查询是:

SELECT Risk 
FROM HightAndWeightTable 
WHERE Hight LIKE '%" + domainUpDown1.Text + "%'"
。。。但这不起作用


另外,我们如何编写一个具有范围的SQL查询,例如,如果我想说一个值介于一个值范围之间?

首先,在比较我假设的数值时,您不想使用LIKE。您可以只做=或>或任何适合您进行比较的操作

其次,请告诉我,您正在对用户输入进行验证,或者您没有真正计划使用字符串连接来构建SQL字符串使用参数


第三,可以使用运算符来完成范围。

首先,在比较我假设的数值时,您不希望使用LIKE。您可以只做=或>或任何适合您进行比较的操作

其次,请告诉我,您正在对用户输入进行验证,或者您没有真正计划使用字符串连接来构建SQL字符串使用参数


第三,可以使用操作员完成范围。

首先,您遇到的一个问题是。这已经被写了很多次了,所以我在这里就不多说了

您希望将SQL查询更改为使用参数,如下所示:

using (SqlConnection conn = new SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI")
{

    SqlCommand cmd = new SqlCommand("SELECT Risk From HightAndWeightTable WHERE Hight LIKE '%" + @height + "%'", conn);

    SqlParameter param = new SqlParameter();
    param.ParameterName = "@height";
    param.Value = domainUpDown1.Text;

    cmd.Parameters.Add(param);

    reader = cmd.ExecuteReader();

    while(reader.Read())
    {
        //do something here:
        string risk = reader["Risk"];
    }
}
另外,您在查询中是否拼写正确?看起来你拼错了高度

至于:

SELECT thing t FROM table where t.value BETWEEN lowerLimit AND upperLimit

首先,你遇到的一个问题是。这已经被写了很多次了,所以我在这里就不多说了

您希望将SQL查询更改为使用参数,如下所示:

using (SqlConnection conn = new SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI")
{

    SqlCommand cmd = new SqlCommand("SELECT Risk From HightAndWeightTable WHERE Hight LIKE '%" + @height + "%'", conn);

    SqlParameter param = new SqlParameter();
    param.ParameterName = "@height";
    param.Value = domainUpDown1.Text;

    cmd.Parameters.Add(param);

    reader = cmd.ExecuteReader();

    while(reader.Read())
    {
        //do something here:
        string risk = reader["Risk"];
    }
}
另外,您在查询中是否拼写正确?看起来你拼错了高度

至于:

SELECT thing t FROM table where t.value BETWEEN lowerLimit AND upperLimit

您在查询中拼错了身高,而体重是正确的。仔细检查表名和列名的拼写是否正确?这不起作用,因为查询必须从风险列中获取值,但没有。是否收到错误消息或结果集为空?这就是Farshid的目的。使用我在前面的问题中指定的上一个查询,为了获取从sql查询返回的风险值,我使用这两个statemt来获取该值,如下所示:DataRow dRow3=ds3.Tables[Hight_Weight].Rows[0];double HightFactor=Convert.ToDoubledRow3.ItemArray.GetValue1.ToString;但是我在第二个statemt中得到一个错误,说索引超出了数组的边界。在查询中,您的高度拼写错误,而权重是正确的。仔细检查表名和列名的拼写是否正确?这不起作用,因为查询必须从风险列中获取值,但没有。是否收到错误消息或结果集为空?这就是Farshid的目的。使用我在前面的问题中指定的上一个查询,为了获取从sql查询返回的风险值,我使用这两个statemt来获取该值,如下所示:DataRow dRow3=ds3.Tables[Hight_Weight].Rows[0];double HightFactor=Convert.ToDoubledRow3.ItemArray.GetValue1.ToString;但是我在第二个statemt中得到一个错误,说索引超出了数组的边界。