c# 我的一句sql语句,为啥在数据库里面跑就没问题,数据也显示,但是到程序里面就不行?
SELECTat,id,src,name,num,arraynum,varFROMglobalhottopicaWHEREa.at=(SELECTMAX(at)FROMg...
SELECT at,id,src,name,num,arraynum,var FROM globalhottopic a WHERE a.at = (SELECT MAX(at) FROM globalhottopic) AND src='新浪微博' LIMIT 0,10
这段sql就会报异常
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '新浪微博' LIMIT 0,10'' at line 1
MySqlDataAdapter sda = new MySqlDataAdapter(strSql, m_Conn);
dt = new DataTable(strTableName);
sda.Fill(dt);
//后来发现的,上面这段代码得到的DataTable没问题,下面的才会报错,请问为什么呢?
m_Cmd.CommandType = CommandType.StoredProcedure;
m_Cmd.CommandText = strSql;
sda = new MySqlDataAdapter(m_Cmd);
sda.Fill(dt); 展开
这段sql就会报异常
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '新浪微博' LIMIT 0,10'' at line 1
MySqlDataAdapter sda = new MySqlDataAdapter(strSql, m_Conn);
dt = new DataTable(strTableName);
sda.Fill(dt);
//后来发现的,上面这段代码得到的DataTable没问题,下面的才会报错,请问为什么呢?
m_Cmd.CommandType = CommandType.StoredProcedure;
m_Cmd.CommandText = strSql;
sda = new MySqlDataAdapter(m_Cmd);
sda.Fill(dt); 展开
5个回答
展开全部
你引用这两个,很好用
using MySql.Data;
using MySql.Data.MySqlClient;
......
public string sql;
public DataSet ds;
public string constr=“server=192.168.1.1;uid=username;pwd=password;database=dbname; pooling=false;charset=utf8”; //数据库连接
查询:
sql="select * from tb ";
ds= ds = MySqlHelper.ExecuteDataset(constr, sql);
if (ds.Tables[0].Rows.Count > 0)
{
//你想要实现的逻辑
}
修改:
sql = " update tb set col='" + username + " where id='" + id + "' ";
MySqlHelper.ExecuteDataset(constr, sql);
using MySql.Data;
using MySql.Data.MySqlClient;
......
public string sql;
public DataSet ds;
public string constr=“server=192.168.1.1;uid=username;pwd=password;database=dbname; pooling=false;charset=utf8”; //数据库连接
查询:
sql="select * from tb ";
ds= ds = MySqlHelper.ExecuteDataset(constr, sql);
if (ds.Tables[0].Rows.Count > 0)
{
//你想要实现的逻辑
}
修改:
sql = " update tb set col='" + username + " where id='" + id + "' ";
MySqlHelper.ExecuteDataset(constr, sql);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查一下程序,是不是双引号和单引号的问题...如果找不到就把程序那段也拿出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很明显是这句错了 m_Cmd.CommandType = CommandType.StoredProcedure;
应改为
m_Cmd.CommandType = CommandType.Text
应改为
m_Cmd.CommandType = CommandType.Text
追问
我一直是看别人这么用,自己一直也不知道是什么意思,为什么会错,为啥要这么改?
追答
CommandType.StoredProcedure表示你要执行的是存储过程,对应的SQL语句那里为存储过程名称
如果是CommandType.Text表示执行SQL语句
你这里根据上下文来看我的理解是你要执行SQL而非存储过程,你自己看一下吧,谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
where 条件后再加个括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 检查你的权限
2 分开写两次查询看看
3 检查中文编码
2 分开写两次查询看看
3 检查中文编码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |