喜欢运算符不能在asp.net vb项目中工作 [英] Like operator is not work in asp.net vb project

查看:77
本文介绍了喜欢运算符不能在asp.net vb项目中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

tbl_extension

tbl_extension

<table border="1" width="80%><br" mode="hold" />  <tr>
    <td>ID</td>
    <td>extension</td>
    <td>Class</td>
  </tr>
  <tr>
    <td>1</td>
    <td>.jpg</td>
    <td>image</td>
  </tr>
  <tr>
    <td>2</td>
    <td>.png</td>
    <td>image</td>
  </tr>
  <tr>
    <td>3</td>
    <td>.gif</td>
    <td>image</td>
  </tr>
  <tr>
    <td>4</td>
    <td>.bmp</td>
    <td>image</td>
  </tr>
  <tr>
    <td>5</td>
    <td>.avi</td>
    <td>video</td>
  </tr>
  <tr>
    <td>6</td>
    <td>.mp4</td>
    <td>video</td>
  </tr>
  <tr>
    <td>7</td>
    <td>.mp3</td>
    <td>audio</td>
  </tr>
  <tr>
    <td>8</td>
    <td>.wma</td>
    <td>audio</td>
  </tr>
</table>





Default.aspx

DropDownList:



Default.aspx
DropDownList:

<asp:DropDownList ID="DropDownList1" runat="server">
     <asp:ListItem>image</asp:ListItem>
     <asp:ListItem>video</asp:ListItem>
     <asp:ListItem>audio</asp:ListItem>
</asp:DrpDownList>





文件上传:



file upload :

<asp:FileUpload ID="FileUpload1" runat="server" />





上传按钮:



Upload Button :

<asp:Button ID="Button1" runat="server" Text="Upload" />







Default.aspx.vb

通知:我还使用vb类页面创建了与DataBase的连接。



我上传了一张图片(1.jpg),但此代码无效...




Default.aspx.vb
notice:I also created a connection to DataBase with a vb class page.

I uploaded an image(1.jpg) but this code isn't working...

con.connecton()

con.query("select * from tbl_extension where Class='" & DropDownList1.SelectedItem.ToString & "' ")

While con.Reader.Read()

If FileUpload1.FileName Like "*" & con.Reader("extension").toString then

     FileUpload1.PostedFile.SaveAs("c:\test\")




     EndIf

End While

con.Reader.Close()













通知:在这个例子中,我选择相同的图像,但它正在维持正常!!!!









notice:in this example i select the same image but it is woking normaly !!!.

If FileUpload1.FileName Like "*.jpg" then

          FileUpload1.PostedFile.SaveAs("c:\test\")

EndIf

推荐答案

Like不是一个有效的VB.NET运算符。

它是一个SQL比较运算符,但你使用它的地方绝对不是SQL查询。 br />
VB中的比较运算符是'='。

此外,逻辑AND / OR运算符在VB中不是'&'和'|';他们是'AndAlso'和'OrElse'。

我甚至惊讶你设法编译了你给我们的代码。


就像是一个完全有效的VB.Net运营商



1)您是否尝试过检查案例?



如果FileUpload1.FileName.ToUpper喜欢*&con.Reader(extension)。toString.ToUpper那么



2)你确定tbl_Extension条目从句号开始?



3)你能用EndsWith代替吗?



如果是FileUpload1.FileName。 ToUpper.EndsWith(con.Reader(extension)。toString.ToUpper)then
Like is a perfectly valid VB.Net operator

1) Have you tried checking the case?

If FileUpload1.FileName.ToUpper Like "*" & con.Reader("extension").toString.ToUpper then

2) Are you sure tbl_Extension entries start with a period?

3) Could you substitute an EndsWith ?

If FileUpload1.FileName.ToUpper.EndsWith(con.Reader("extension").toString.ToUpper) then


问题是我将列的数据类型((Class))保存为 nChar(10)因此它将剩余的数字作为空格..我把它作为nvarChar(10)并且它工作了:D !!



类似运算符正常工作但问题出在扩展名中!
The problem was that i was saving the data type of the column (( Class )) as "" nChar(10) "" so it takes the rest of the digits as spaces .. i put it as "" nvarChar(10) "" and IT WORKED :D !!

The like operator worked normally but the problem was in the extension !


这篇关于喜欢运算符不能在asp.net vb项目中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆