在ASP.Net C#代码中执行SQL语句的问题

Bul*_*vak -1 c# sql asp.net

双引号不起作用,因此在直接执行SQL语句时必须输入"some value"来实际进行变量比较.

问题是,现在当我从ASP.NET代码执行SQL语句时,我似乎没有得到任何读数 ......我甚没有得到错误:S ....

我已经尝试过自己执行SQL语句,但它确实有效.

public static string testExi(string localIncidentNum)
        {

            try
            {
                string query = "SELECT TOP 1 UniqueColID From DBNAME WHERE LocalIncidentNum = @localIncidentNum ORDER BY [version] DESC";

                DataTable dt = new DataTable();
                SqlConnection connection = new SqlConnection(connectionStr);

                SqlCommand command = new SqlCommand(query, connection);
                command.Parameters.AddWithValue("@localIncidentNum", localIncidentNum);

                connection.Open();
                SqlDataAdapter adp = new SqlDataAdapter(command);
                adp.Fill(dt);
                connection.Close();
                command.Dispose();
                connection.Dispose();

                if (dt.Rows.Count != 0)
                {
                    string UniqueColID = dt.Rows[0]["UniqueColID"].ToString();
                    return UniqueColID;
                }
                else
                {
                    return null;
                }


                string some = dt.Rows[0]["UniqueColID"].ToString();
                return some;
            }


            catch (Exception err)
            {
                Global.tmpmsg = " Updating follow up was not successful. " + err.ToString();
                return null;
            }


        }
Run Code Online (Sandbox Code Playgroud)

如果我在SELECT语句中对事件值进行硬编码,则它可以工作,但如果我在.addwithvalue中对事件值进行硬编码,则它不起作用.

    command.Parameters.AddWithValue("@localIncidentNum", "12-023696");
Run Code Online (Sandbox Code Playgroud)

Jer*_*emy 5

仔细检查你的sql语句:

SELECT TOP 1 UniqueColID From WHERE LocalIncidentNum = @localIncidentNum ORDER BY [version] DESC
Run Code Online (Sandbox Code Playgroud)

From Where

编辑 为了遵守您的更改,最好在描述您的问题时始终尽可能准确.省略像sql语句的表名这样的东西是非常误导的.