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 函数,这就是为什么您在网页中没有收到任何错误的原因,请参阅http://msdn.microsoft.com/en-us/library/ms177601.aspx

第二个问题是密钥在表中,因此除非您将其值检索到客户端,否则您永远无法在其上使用 VB 的 left 函数

所以我假设这只是一个非常糟糕的例子,你正在寻找更像这样的东西。

var secretkey = "ABCDEFGHIJKLMNOP"

string query = "Select blah, blah from users where secretkey =" + secretkey.Substring(0,30)

于 2012-06-30T20:17:05.717 回答