未经处理的异常在System.Data.dll中发生。其他信息:在应使用条
机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition。 在机房收费系统的联合查询模块中出现的问题:System.Data.SqlClient.SqlException类型的未经处理的异常在 S
机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition。
在机房收费系统的“联合查询”模块中出现的问题:“System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生。其他信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式。
出错的DAL层代码为:
Public Function QueryOnLineStatus(ByVal strCondition As String) As List(Of Entity.QueryOnLineStatusViewEntity) Implements IDAL.IQueryOnLineStatusView.QueryOnLineStatus Dim cmdText As String = "select * from QueryOnLineStatus_View where @strCondition" '定义查询字符串(strCondition为UI层传过来的查询条件) Dim cmdType As CommandType = CommandType.Text '定义命令类型 Dim sqlHelper As New SqlHelper '实例化SqlHelper类 Dim myList As List(Of Entity.QueryOnLineStatusViewEntity) Dim dtb As New DataTable Dim parameters As SqlParameter() parameters = {New SqlParameter("@strCondition", strCondition)} dtb = sqlHelper.ExecuteSelect(cmdText, cmdType, parameters) myList = Entity.EntityHelper.ConvertToList(Of Entity.QueryOnLineStatusViewEntity)(dtb) 'EntityHelper.ConvertToList的功能是把DataTable类型转化为泛型集合 Return myList End Function
代码里SQL语句中的strCondition是从UI层传过来的查询条件,此错误发生时,在调试中已经证明查询条件没有错误,如下图:strCondition的值为:“cardNumber='1' ”,所以整个SQL语句不就是“ select * from QueryOnLineStatus_View where cardNumber='1' ”嘛!

最后解决这个问题的办法太出乎我的意料:把原SQL语句"select * from QueryOnLineStatus_View where @strCondition"中“where”和"@strCondition"之间的空格给去掉,将SQL语句变成"select * from QueryOnLineStatus_View where@strCondition"。
经过一阵冥思苦想,在数据库中尝试了好多次后,才明白这到底是为什么。。。。
先看在数据库中测试的结果:
1、当查询语句中where后面是一个值时(假设这个值是1):
(1)、查询语句中where与1之间没有空格,查询出正确结果;
(2)、查询语句中where与1之间有空格,报错:在应使用条件的上下文(在 '1' 附近)中指定了非布尔类型的表达式;
2、假设查询语句中where后面是一条语句时(假设这条语句是“1=1”):
(1)查询语句中where与“1=1”之间有空格,查询出正确结果;
(2)查询语句中where与“1=1”之间没有空格,报错:'=' 附近有语法错误。
原来,SQL语句中,where后面跟的是一个Boolean型的值。
【画龙点睛】
在where后面,如果仅仅是一个Boolean类型的值或者Boolean类型的变量,那么where和这个Boolean值之间是不可以有空格的(这时,我的代码中的@strCondition就是一个Boolean类型的变量;但如果where后面是一条语句的话(当然这一条语句的整体也是一个Boolean类型的值,比如“1=1”),那么这条语句和where之间就必须要有空格。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Mula-mula, kita klik kanan ruang kosong bar tugas dan pilih pilihan [Task Manager], atau klik kanan logo mula, dan kemudian pilih pilihan [Task Manager]. 2. Dalam antara muka Pengurus Tugas yang dibuka, kami klik tab [Perkhidmatan] di hujung kanan. 3. Dalam tab [Perkhidmatan] yang dibuka, klik pilihan [Buka Perkhidmatan] di bawah. 4. Dalam tetingkap [Services] yang terbuka, klik kanan perkhidmatan [InternetConnectionSharing(ICS)], dan kemudian pilih pilihan [Properties]. 5. Dalam tetingkap sifat yang terbuka, tukar [Buka dengan] kepada [Disabled], klik [Apply] dan kemudian klik [OK]. 6. Klik logo mula, kemudian klik butang tutup, pilih [Mulakan Semula], dan selesaikan mula semula komputer.

Ringkasan soalan lazim tentang mengimport data Excel ke dalam Mysql: Bagaimana untuk menangani masalah log ralat yang dihadapi semasa mengimport data? Mengimport data Excel ke dalam pangkalan data MySQL adalah tugas biasa. Namun, semasa proses ini, kita sering menghadapi pelbagai ralat dan masalah. Salah satunya ialah isu log ralat. Apabila kami cuba mengimport data, sistem mungkin menghasilkan log ralat yang menyenaraikan maklumat khusus tentang ralat yang berlaku. Jadi, bagaimana kita harus menangani log ralat apabila kita menghadapi situasi ini? Pertama, kita perlu tahu bagaimana

Ketahui cara membuka dan memproses fail format CSV dengan pantas Dengan pembangunan analisis dan pemprosesan data yang berterusan, format CSV telah menjadi salah satu format fail yang digunakan secara meluas. Fail CSV ialah fail teks yang ringkas dan mudah dibaca dengan medan data berbeza yang dipisahkan dengan koma. Sama ada dalam penyelidikan akademik, analisis perniagaan atau pemprosesan data, kami sering menghadapi situasi di mana kami perlu membuka dan memproses fail CSV. Panduan berikut akan menunjukkan kepada anda cara belajar membuka dan memproses fail format CSV dengan cepat. Langkah 1: Fahami format fail CSV Pertama,

Dalam proses pembangunan PHP, berurusan dengan aksara khas adalah masalah biasa, terutamanya dalam pemprosesan rentetan, aksara khas sering terlepas. Antaranya, menukar aksara khas kepada petikan tunggal adalah keperluan yang agak biasa, kerana dalam PHP, petikan tunggal adalah cara biasa untuk membungkus rentetan. Dalam artikel ini, kami akan menerangkan cara mengendalikan petikan tunggal penukaran aksara khas dalam PHP dan memberikan contoh kod khusus. Dalam PHP, aksara khas termasuk tetapi tidak terhad kepada petikan tunggal ('), petikan berganda ("), segaris ke belakang (), dsb. Dalam rentetan

Cara mengendalikan format data XML dan JSON dalam pembangunan C# memerlukan contoh kod khusus Dalam pembangunan perisian moden, XML dan JSON ialah dua format data yang digunakan secara meluas. XML (Extensible Markup Language) ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data, manakala JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Dalam pembangunan C#, kami selalunya perlu memproses dan mengendalikan data XML dan JSON Artikel ini akan memfokuskan pada cara menggunakan C# untuk memproses kedua-dua format data ini dan melampirkan

Pengecualian Java.lang.UnsatisfiedLinkError berlaku pada masa jalan apabila percubaan untuk mengakses atau memuatkan kaedah atau pustaka asli gagal disebabkan oleh ketidakpadanan antara seni bina, sistem pengendalian atau konfigurasi laluan perpustakaan dan yang dirujuk. Ia biasanya menunjukkan bahawa terdapat ketidakserasian dengan seni bina, konfigurasi sistem pengendalian atau konfigurasi laluan yang menghalang kejayaan - biasanya perpustakaan tempatan yang dirujuk tidak sepadan dengan perpustakaan yang dipasang pada sistem dan tidak tersedia pada masa jalanan Untuk mengatasi ralat ini, key is to native Library adalah serasi dengan sistem anda dan boleh diakses melalui tetapan laluan perpustakaannya. Anda harus mengesahkan bahawa fail perpustakaan wujud di lokasi tertentu dan memenuhi keperluan sistem. java.lang.UnsatisfiedLinkErrorjava.lang

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? 1. Pengenalan Dalam projek PHP, kita selalunya perlu merangkak data dari tapak web lain dan memproses data ini. Banyak tapak web menyediakan antara muka API, dan kami boleh mendapatkan data dengan memanggil antara muka ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil antara muka API untuk merangkak dan memproses data. 2. Dapatkan URL dan parameter antara muka API Sebelum memulakan, kita perlu mendapatkan URL antara muka API sasaran dan parameter yang diperlukan.

Cara menangani isu normalisasi data dalam pembangunan C++ Dalam pembangunan C++, kita selalunya perlu memproses pelbagai jenis data, yang selalunya mempunyai julat nilai dan ciri pengedaran yang berbeza. Untuk menggunakan data ini dengan lebih cekap, kami selalunya perlu menormalkannya. Normalisasi data ialah teknik pemprosesan data yang memetakan data skala yang berbeza kepada julat skala yang sama. Dalam artikel ini, kami akan meneroka cara menangani isu normalisasi data dalam pembangunan C++. Tujuan normalisasi data adalah untuk menghapuskan pengaruh dimensi antara data dan memetakan data kepada
