0

Web アプリの 1 ページを継承して更新しましたが、古い従来の ASP バージョンでは LEFT、RIGHT、および MID 関数が大量に使用されていました。更新されたアプリは C# ASP.NET を使用します。VB の左、右、および中間関数をインポートする方法、またはそれらの関数をシミュレートする関数をインポートする方法はありますか。

文字列が C# での長さパラメーターよりも短い場合、C# サブストリング関数はエラーを返すようです。(私の C# コードをからかわないでください。私はほとんど C# を使用しません)。必要なコードを入力するのは素晴らしいことです

<%@ Page language="c#" %>
<%@ Import namespace="Microsoft.VisualBasic"%>

<script runat="server" language="C#">

protected virtual string Auth(string uid)
{
String xml;

if (!String.IsNullOrEmpty(Request["uid"]))
{

System.Data.DataTable dtTable = new System.Data.DataTable();


System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
conn.Open();

string query = "SELECT id, blah, blah from users WHERE left(secretkey,30)='" + Request["uid"] + "'"; <--need to know how to use left function here

blah blah blah...

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>blah</title>
</head>
<body>
<form id="Form1" method="post" runat="server"><% Page_Load(null, null); %></form>
</body>
</html>
4

3 に答える 3

1

すでにwuestionに関するコメントで述べたように、SQLのleft関数を使用しているため、vbとc#のどちらを使用しているかは関係ありません。

于 2012-06-30T21:41:14.417 に答える
0

私のコメントからのリンクされた質問から、

Left()       = "string".Substring(0, length)
Right()      = "string".Substring("string".Length - desiredLength)
Mid()        = "string".Substring(start, length)
于 2012-06-30T19:23:27.773 に答える
0

最初の問題は、この例では C# で left をまったく呼び出していないことです。

string query = "SELECT id, blah, blah from users WHERE left(secretkey,30)='" + Request["uid"] + "'";

SQL Server で left 関数を使用しているため、Web ページでエラーが発生していません。http://msdn.microsoft.com/en-us/library/ms177601.aspxを参照してください。

2 番目の問題は、secretkey がテーブルにあるため、その値をクライアントに取得しない限り、VB の left 関数を使用できないことです。

したがって、これは非常に悪い例にすぎず、このようなものをもっと探していると思います。

var secretkey = "ABCDEFGHIJKLMNOP"

string query = "ユーザーから何とか何とか選択 Where secretkey =" + secretkey.Substring(0,30)

于 2012-06-30T20:17:05.717 に答える