从数据库重定向URL

时间:2013-07-10 06:26:21

标签: c# asp.net database url-shortener

我正在做一个URL缩短服务。但目前我遇到了一个问题。当我尝试输入网址时,例如:

的http:/本地主机:4021 /预订/条

应该将我重定向到长URL,例如:

http://www.google.com

但是当我输入缩短的网址时,它无法重定向。

以下是我的代码。有什么问题?

string query;
string name = Page.RouteData.Values["Name"] as string;
string str = "Data Source=blankblankblank;Initial Catalog=URLSHORT;User ID=blank;Password=blank";
SqlConnection con = new SqlConnection(str);
con.Open();
query = "SELECT @long_url FROM dbo.url_map WHERE @short_url='" + name + "'";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add("short_url", SqlDbType.VarChar).Value = tbShort.Text;
cmd.Parameters.Add("long_url", SqlDbType.VarChar).Value = tbLong.Text;
cmd.CommandText = string.Format("SELECT @long_url FROM dbo.url_map WHERE @short_url='" + name + "'");
if(name != null)
{
    else if (name == cmd.ExecuteNonQuery().ToString())
    {
        Response.StatusCode = 303;
        Response.Status = "303 Moved Permanently";
        Response.RedirectLocation = "http://www.youtube.com";
        Response.End();
    }

1 个答案:

答案 0 :(得分:3)

数据库可能正在进行区分大小写的搜索。但是,我认为问题在于您正在使用“ExecuteNonQuery”,当您应该使用“ExecuteScalar”时,它不会返回任何结果。