首页新闻招聘找找看知识库

“System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: '*' 附近有语法错误。

0
悬赏园豆:10 [已解决问题]

源代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data;

using System.Data.SqlClient;

 

namespace 图书馆工程

{

    class database

    {

        SqlConnection con;

        private void open()//开启 连接数据库

        {

            if (con == null)

            {

               string constr = @"Data Source=.; Initial Catalog=libraryMIS; Integrated Security=True";

       

               

               

                con = new SqlConnection(constr);

            }

            if (con.State == System.Data.ConnectionState.Closed)

            {

                con.Open();

            }

        }

 

        private void close()

        {

            if (con != null)

                con.Close();

        }

 

        private SqlCommand createcommand(string sqlStr)

        {

            open();

            SqlCommand com = new SqlCommand(sqlStr, con);

            return com;

        }

 

        public void runSql(string sqlStr)

        {

            SqlCommand cmd = createcommand(sqlStr);

            cmd.ExecuteNonQuery();

            close();

        }

        public int runSqlInt(string sqlStr)

        {

            SqlCommand cmd = createcommand(sqlStr);

            int t = (int)cmd.ExecuteScalar();

            close();

            return t;

        }

 

 

        public SqlDataReader runSql(string sqlStr, out SqlDataReader dr)

        {

            SqlCommand cmd = createcommand(sqlStr);

            dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            return dr;

        }

 

        public DataTable ConvertDataReaderToDataTable(SqlDataReader datareader)

        {

            DataTable dt = new DataTable();

            DataTable schemaTable = datareader.GetSchemaTable();

            try

            {

                foreach (DataRow myRow in schemaTable.Rows)

                {

                    DataColumn myDataColumn = new DataColumn();

                    myDataColumn.DataType = System.Type.GetType("System.String");

                    dt.Columns.Add(myDataColumn);

                }

                while (datareader.Read())

                {

                    DataRow mydataRow = dt.NewRow();

                    for (int i = 0; i < schemaTable.Rows.Count; i++)

                    {

                        mydataRow[i] = datareader[i].ToString();

                    }

                    dt.Rows.Add(mydataRow);

                    mydataRow = null;

                }

                schemaTable = null;

                datareader.Close();

                return dt;

            }

            catch (Exception ex) { throw new Exception("转换出错", ex); }

        }

    }

}

 

 

 

 

问问大神们!我到底应该怎么修改!

删除回忆的星星的主页 删除回忆的星星 | 初学一级 | 园豆:193
提问于:2017-05-23 22:01
< >
分享
最佳答案
0

异常信息已经告诉你了问题出在SQL语句中一个"*"号附近。

所以剩下来的事就是:你得通过调试的手段定位到那个发生异常的SQL语句,把那个SQL语句复制到数据库的查询分析器中看看到底有什么问题。

收获园豆:10
西漠以西 | 小虾三级 |园豆:509 | 2017-05-24 17:15
其他回答(4)
0

sql语句有错误呗。吧sql语句贴出来

czd890 | 园豆:3934 (老鸟四级) | 2017-05-23 22:32

@删除回忆的星星: 

大爷把你的sql语句打出来.sql语句懂吗...

czd890 | 园豆:3934 (老鸟四级) | 2017-05-24 10:31
0

通常是sql有问题,可以将sql打印出来看看..就知道了。

站在那看风景 | 园豆:287 (菜鸟二级) | 2017-05-24 09:44
0

大爷把你的sql语句打出来.sql语句懂吗...

吴瑞祥 | 园豆:23750 (高人七级) | 2017-05-24 10:06
0

你代码里面的  sqlStr 这个参数不符合SQL语法规定,把这个参数的内容在SQL里面执行,你就会发现错在哪了/////

风醉 | 园豆:1283 (小虾三级) | 2017-05-24 16:20
   您需要登录以后才能回答,未注册用户请先注册