您的位置:程序门 -> .net技术 -> c#



找错误


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


找错误[已结贴,结贴人:xiaotupansy]
发表于:2007-01-27 15:19:03 楼主
string   sconn   =   "uid=sa;pwd=;database=tu;server= ";
                string   keyword   =   request[ "keyword "];
                string   searchword   =   request[ "searchword "];
                if   (string.isnullorempty(keyword)   ¦ ¦   string.isnullorempty(searchword))
                {
                        response.redirect( "default.aspx ");
                }
                else
                {
                        string   sql   =   "select   *   from   table   where   "   +   keyword   +   "   like   %& "   +   searchword   +   "&% ";
                        sqlconnection   conn   =   new   sqlconnection(sconn);
                        conn.open();
                        sqldataadapter   da   =   new   sqldataadapter(sql,   conn);
                        dataset   ds   =   new   dataset();
                        da.tablemappings.add( "table ",   "table ");
                        da.tablemappings[0].columnmappings.add( "title ",   "title ");
                        da.tablemappings[0].columnmappings.add( "auther ",   "auther ");
                        da.tablemappings[0].columnmappings.add( "isbs ",   "isbs ");
                        da.tablemappings[0].columnmappings.add( "lecturer ",   "lecturer ");
                        da.tablemappings[0].columnmappings.add( "unitcode ",   "unitcode ");
                        da.tablemappings[0].columnmappings.add( "copy ",   "copy ");
                        da.fill(ds);
                        datagrid1.datasource   =   ds.tables[ "table "].defaultview;
                        viewstate[ "row "]   =   ds.tables[ "table "].defaultview.count;
                        datagrid1.databind();
                }
发表于:2007-01-27 15:19:451楼 得分:0
一个table表
6个字段,全部用datagrid显示
发表于:2007-01-27 15:24:402楼 得分:2
直接绑定阿
发表于:2007-01-27 15:25:193楼 得分:2
要我说错误
就是如果要显示全部字段
直接     datagrid1.datasource   =   ds.tables[ "table "].defaultview
不要   mapping
设成自动生成列
发表于:2007-01-27 15:28:124楼 得分:0
string   sql   =   "select   *   from   table   where   "   +   keyword   +   "   like   %& "   +   searchword   +   "&% ";
                        sqlconnection   conn   =   new   sqlconnection(sconn);
                        conn.open();
                        sqldataadapter   da   =   new   sqldataadapter(sql,   conn);
                        dataset   ds   =   new   dataset();
                        da.fill(ds);
                        datagrid1.datasource   =   ds.tables[ "table "].defaultview;
                        viewstate[ "row "]   =   ds.tables[ "table "].defaultview.count;
                        datagrid1.databind();
还是错的
发表于:2007-01-27 15:35:165楼 得分:0
错误信息
{ "在关键字   'table '   附近有语法错误。 "}
发表于:2007-01-27 15:40:506楼 得分:2
request[ "keyword "]的使用前应加判断是否为null,不为空才可以进行下一步工作,对于sql应该不会错;我也遇到类似问题,判断不为空即可!!!仅供参考!
发表于:2007-01-27 15:42:137楼 得分:2
string   sconn   =   "uid=sa;pwd=;database=tu;server= ";
to:
string   sconn   =   "uid=sa;pwd=;database=tu;server=. ";
发表于:2007-01-27 15:44:108楼 得分:10
string   sql   =   "select   *   from   table   where   "   +   keyword   +   "   like   %& "   +   searchword   +   "&% ";
to:
string   sql   =   "select   *   from   table   where   "   +   keyword   +   "   like   '% "   +   searchword   +   "% ' ";

注意   %   那里的变化
发表于:2007-01-27 15:44:369楼 得分:2

string   sql   =   "select   *   from   table   where   "   +   keyword   +   "   like   %& "   +   searchword   +   "&% ";

在此之前要判断keyword   和   searchword   是否为空
否则报错   { "在关键字   'table '   附近有语法错误。 "}
发表于:2007-01-27 15:45:3910楼 得分:12
把table   改为[table]
发表于:2007-01-27 15:46:2711楼 得分:0
like   的用法是   like   '%abc% '
请楼住见我上上楼回帖
发表于:2007-01-27 15:46:3512楼 得分:6
table   是表的关键字
发表于:2007-01-27 15:49:1613楼 得分:12
string   sql   =   "select   *   from   dbo.[table]   where   "   +   keyword   +   "   like   '% "   +   searchword   +   "% ' ";
另外,预先检查一下几个传入的字符串是否为空,是否非法等
发表于:2007-01-27 15:59:1014楼 得分:0
搞定了,两个错误
一个table关键字
一个是like用法不对


快速检索

最新资讯
热门点击