C# ASP.NET C相当于示例中留下的vbScript/VB
我继承了一个web应用程序的1页进行更新,旧的经典ASP版本大量使用了左、右和中功能。更新后的应用程序使用C ASP.NET。有没有一种方法可以导入VB的左、右和中函数,或者导入一个模拟这些函数的函数 如果字符串短于C下的length参数,C substring函数似乎会返回一个错误。不要取笑我的C代码,我几乎不用C。用所需的代码填充将非常棒C# ASP.NET C相当于示例中留下的vbScript/VB,c#,asp.net,html,C#,Asp.net,Html,我继承了一个web应用程序的1页进行更新,旧的经典ASP版本大量使用了左、右和中功能。更新后的应用程序使用C ASP.NET。有没有一种方法可以导入VB的左、右和中函数,或者导入一个模拟这些函数的函数 如果字符串短于C下的length参数,C substring函数似乎会返回一个错误。不要取笑我的C代码,我几乎不用C。用所需的代码填充将非常棒 <%@ Page language="c#" %> <%@ Import namespace="Microsoft.VisualBasi
<%@ 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>
从我评论中的相关问题来看
Left() = "string".Substring(0, length)
Right() = "string".Substring("string".Length - desiredLength)
Mid() = "string".Substring(start, length)
第一个问题是,在本例中,您根本没有在C中调用left
字符串查询=从用户中选择id,blah,blah,其中leftsecretkey,30='+请求[uid]+'
您正在使用sql server中的left函数,这就是您在网页中没有收到任何错误的原因请参见
第二个问题是secretkey在表中,所以除非您向客户机检索它的值,否则您永远不能对其使用VB的left函数
所以我要假设这只是一个非常糟糕的例子,你正在寻找类似的东西
var secretkey=ABCDEFGHIJKLMNOP
string query=Select blah,blah from users Where secretkey=+secretkey.Substring0,30正如我在关于wuestion的评论中所说的,您使用的是SQL的左函数,所以无论您使用的是vb还是c都无关紧要。您使用的左函数是SQL,而不是c。。如果它较短,那么会发生什么?下面的内容应该会有所帮助。Comecme是正确的。我不需要担心C中的left,我可以在sql查询中使用left函数。请把它作为一个答案添加进来,这样我就可以给你信用了。这不会解决你的问题,但你应该使用参数化查询。例如。