ACCESS的项目转成SQL项目出现问题

问题描述

publicstaticobjectExcSqlScalar(stringsqlstr,paramsobject[]param){//System.Data.OleDb.OleDbCommandtmp=ThisConnect.CreateCommand();System.Data.SqlClient.SqlCommandtmp=ThisConnect.CreateCommand();tmp.CommandText=sqlstr;for(inti=0;i<param.Length;i++)tmp.Parameters.Add("param",param[i]);tmp.Transaction=ThisTrans;objectrtn=tmp.ExecuteScalar();tmp.Dispose();returnrtn;}一个业务类,以前的连接是ACCESS的,现在改成SQL的了.在设计窗体的页面里调用它的代码privatevoidbtnSubmit_Click(objectsender,System.EventArgse){objectpw=BaseDataBase.ExcSqlScalar("select用户名fromlogUserwhere用户名=?and密码=?",this.txtUserName.Text,this.txtOldPwd.Text);if(pw==null){MessageBox.Show("旧密码错误!请再次输入!");this.txtOldPwd.Focus();return;}else{if(this.txtNewPwd1.Text!=this.txtNewPwd2.Text){MessageBox.Show("两次输入的密码不一致!请重新输入!");this.txtNewPwd1.Text="";this.txtNewPwd2.Text="";this.txtNewPwd1.Focus();}else{BaseDataBase.ExcSqlNonQuery("updateLogUserset密码=?where用户名=?",this.txtNewPwd1.Text,this.txtUserName.Text);MessageBox.Show("密码修改成功!");this.Close();}}}像这种写法updateLogUserset密码=?where用户名=?",this.txtNewPwd1.Text,this.txtUserName.Text,用?添加参数,是在连接ACCESS数据库的编码方式,现在连接SQL数据库运行就报错,请问各位怎样能改成SQL的用"@"添加参数方法,

解决方案

解决方案二:
string.Fromat("select用户名fromlogUserwhere用户名={0}and密码={1}",this.txtUserName.Text,this.txtOldPwd.Text)
解决方案三:
stringstr="select用户名fromlogUserwhere用户名=@Nameand密码=@Pwd";SqlParameter[]param=newSqlParameter[2];param[0]=newSqlParameter("@Name",this.txtUserName.Text);param[2]=newSqlParameter("@Pwd",this.txtOldPwd.Text);
解决方案四:
publicstaticobjectExcSqlScalar(stringsqlstr,paramsobject[]param){//System.Data.OleDb.OleDbCommandtmp=ThisConnect.CreateCommand();System.Data.SqlClient.SqlCommandtmp=ThisConnect.CreateCommand();tmp.CommandText=sqlstr;for(inti=0;i<param.Length;i++)tmp.Parameters.Add("param",param[i]);tmp.Transaction=ThisTrans;objectrtn=tmp.ExecuteScalar();tmp.Dispose();returnrtn;}一个业务类,以前的连接是ACCESS的,现在改成SQL的了.在设计窗体的页面里调用它的代码privatevoidbtnSubmit_Click(objectsender,System.EventArgse){objectpw=BaseDataBase.ExcSqlScalar("select用户名fromlogUserwhere用户名=?and密码=?",this.txtUserName.Text,this.txtOldPwd.Text);if(pw==null){MessageBox.Show("旧密码错误!请再次输入!");this.txtOldPwd.Focus();return;}else{if(this.txtNewPwd1.Text!=this.txtNewPwd2.Text){MessageBox.Show("两次输入的密码不一致!请重新输入!");this.txtNewPwd1.Text="";this.txtNewPwd2.Text="";this.txtNewPwd1.Focus();}else{SqlParameter[]param=newSqlParameter[]{newSqlParameter("@pwd",SqlDataType.Varchar),newSqlParameter("@name",SqlDataType.Varchar)};param[0].Value=txtNewPwd1.Text;param[1].Value=this.txtUserName.Text;BaseDataBase.ExcSqlNonQuery("updateLogUserset密码=@pwdwhere用户名=@name",param);MessageBox.Show("密码修改成功!");this.Close();}}}

解决方案五:
晕,该了下面上面没改类似。SqlParameter[]param=newSqlParameter[]{newSqlParameter("@pwd",SqlDataType.Varchar),newSqlParameter("@name",SqlDataType.Varchar)};param[0].Value=txtNewPwd1.Text;param[1].Value=this.txtUserName.Text;BaseDataBase.ExcSqlNonQuery("updateLogUserset密码=@pwdwhere用户名=@name",param);

解决方案六:
原来程序运行修改密码功能,报错如下,程序显示变量名'@param'已声明,变量名在查询批次或存储过程内部必须唯一,'?'附近有语法错误.用第一种做法string.Fromat("select用户名fromlogUserwhere用户名={0}and密码={1}",this.txtUserName.Text,this.txtOldPwd.Text)运行报错为程序显示变量名'@param'已声明,变量名在查询批次或存储过程内部必须唯一,'0附近有语法错误,第2种做法参数名我在ExcSqlScalar里声明了tmp,怎样在窗口代码里给ExcSqlScalar里的tmp添加,而不是在页面里直接添加参数

时间: 2024-12-19 07:56:46

ACCESS的项目转成SQL项目出现问题的相关文章

如何将非ARC的项目转换成ARC项目

  如何将非ARC的项目转换成ARC项目 Xcode 自带一个自动转换的功能,不过只适合比较小的项目,在大型项目上是不适合适用的,所以大型项目上需要全手动转换. 1.将项目编译环境改成ARC 将红圈处从No 改成Yes 如果你现在的工程不支持ARC技术,你可以通过一个自动转换工具来转换你的工程(工具在 Edit>Refactor>Convertto Objective-CARC),这个工具会自动所有工程中手动管理内存的点转换成合适自动方式的(比如移除retain, release等).这个工具

eclipse-将web项目转换成maven项目

问题描述 将web项目转换成maven项目 将web项目转换成maven项目之后只是多了一个pom.xml文件夹 和一个target文件夹,其他目录结构没有变, 转换之后这个就是是一个完整的maven想了吗,好像不是很完整,所以在Eclipse comfigure ---->之后 ,那个目录结构怎么处理的呢? 解决方案 首先设置好你的project facet ,如果通过Eclipse configure 转换之后类似与这样, 就好了,如果没有,则需要通过Java Build Path 来配置你

ACCESS程序换成SQL程序出点问题

问题描述 publicstaticobjectExcSqlScalar(stringsqlstr,paramsobject[]param){//System.Data.OleDb.OleDbCommandtmp=ThisConnect.CreateCommand();System.Data.SqlClient.SqlCommandtmp=ThisConnect.CreateCommand();tmp.CommandText=sqlstr;for(inti=0;i<param.Length;i++

app-能不能把APP项目轻松改写成wap项目?

问题描述 能不能把APP项目轻松改写成wap项目? 我现在有一个app应用源代码,现在要求做一个wap版的,说在app源代码上简单修改就行了.但是做起来发现app正常,用浏览器打开登陆页面就登陆不进去.项目是用HBuiler做的,登陆页面通过login.js调用login()方法接收数据传到后台接口中进行登陆验证.但是一直报错,要么出现403forbidden,要么出现登陆信息传到前台了但是没有返回信息,调试的时候还经常出现"XMLHttpRequest cannot load http://1

如何把ACCESS转成SQL数据库

access|sql|数据|数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的: 二,转换的方法 1,打开"控制面板"下"管理工具"中的"数据库源": 2,按"添加&q

如何将一个引入了library的项目打包成jar发给别人用,需要详细步骤及使用方法

问题描述 如何将一个引入了library的项目打包成jar发给别人用,需要详细步骤及使用方法 现在是有一个项目引入了两个library,要将这个项目打成jar包,放到另外一个项目中使用 解决方案 eclipse java ee工具为例: 右键点项目--export--选java下的Runnable JAR file 然后 看看导出的jar文件里 文件不是不全的,不是全的就换图片里的其他选项试试,总有一个会好的 其他的工具不熟悉 解决方案二: 先按楼上说的打包,然后用EXEJ4D等软件打包成EXE

android studio-如何将Android Studio 中的项目打包成jar文件,求方法

问题描述 如何将Android Studio 中的项目打包成jar文件,求方法 如题,求能用的方法,试了好多百度的方法,不怎么好用啊,越详细越好 解决方案 AS 生成Jar包 在Gradle中添加任务声明 def makeJar(String target, String classDir) { exec { executable "jar" //调用jar args "cvf", target args "-C", classDir args

服务器-项目导出成war包放在linux的weblogic上可以跑,在windows下跑不了

问题描述 项目导出成war包放在linux的weblogic上可以跑,在windows下跑不了 公司的一个老旧项目,在笔记本下win7 tomcat 可以随便跑:在笔记本用weblogic跑不动,当时以为是电脑配置太差了.于是放到了组里的linux上的weblogic跑.挺快的. 现在公司要求放到windows server 2008的服务器上的weblogic,可是和在笔记本上用weblogic同样:登录了之后加载不出页面,过了很久很久显示500超时错误.求各位大神遇到过此问题的告诉下解决方法

如何把Java项目打包成exe文件

问题描述 我在使用exe4j把Java项目打包成exe的时候,最后出现错误了,不能把oracle的驱动jar包加进去,不知道怎么弄了.在Java项目中,我已经把oracle的jar包放在项目中的lib下,并在项目中引用了,但是在转换的时候,驱动jar包总是不能添加到exe文件中,JRE环境的文件都能添加到里面 解决方案 解决方案二:你百度,,,我见过那种方法!解决方案三:不要exe了,用java或javaw调用jar里的入口类,将命令行写成批处理,win下用bat,linux下用.hexe文件无