0

URL短縮サービスを行っています。しかし、現在私は問題に直面しています。たとえば、URLを入力しようとしたとき:

http://localhost:4021/本/記事

たとえば、次のような長い URL にリダイレクトすることになっています。

http://www.google.com

しかし、短縮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();
    }
4

1 に答える 1

3

データベースは、大文字と小文字を区別する検索を行っている可能性があります。ただし、問題は、たとえば「ExecuteScalar」を使用する必要があるときに結果を返さない「ExecuteNonQuery」を使用していることだと思います。

于 2013-07-10T06:29:57.273 に答える