【发布时间】:2016-10-29 03:55:20
【问题描述】:
我正在做 URL 缩短服务。但目前我面临一个问题。当我尝试输入网址时,例如:
http://localhost:4021/书/文章
它应该将我重定向到长 URL,例如:
但是当我输入缩短的网址时,它无法重定向。
以下是我的代码。怎么了?
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();
}
【问题讨论】:
-
请确保您的样本有些正确。现在
if(name != null)...中缺少一些代码。 -
你的整个程序都错了。 ExecuteNonQuery() 不适用于 select 语句,是什么让您两次编写查询字符串 @qU3st
-
你能发布你的实际代码吗?好像少了什么东西。例如,有两个
{s 和一个}。
标签: c# asp.net database url-shortener