sqlcommandsql文件
A. ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。
[ InvalidOperationException: ExecuteNonQuery????????????????????????] System.Data.sqlClient.SqlConnection.GetOpenConnection(String 方法) +857124 System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String方法, SqlCommand 命令) +9 System.Data.SqlClient.SqlCommand.ValidateCommand(String 方法,布尔async) +56 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult结果、串methodName, 布尔sendToPipe) +72 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135 qiye.UserAdd.renzhen() 在E:\2004???????????\??\qiye\admin\UserAdd.aspx.vb:49 qiye.UserAdd.butCheak_Click(Object 发令者, EventArgs e) 在E:\2004???????????\??\qiye\admin\UserAdd.aspx.vb:97 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(StringeventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, 串eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, 布尔includeStagesAfterAsyncPoint) +5102
B. SQL数据库如何提取数据
程序有问题呀,你的查询返回了login表中的所有数据,在判断用户名是否存在表中时,只读取了第一条,只要第一条记录的用户名不是你输入的那个用户名,a==username就不会成立。要用一个循环依次读取所有记录来判断才行。
建议在查询时以用户名为条件查询,这样只在查询后检查dr是否返回数据就可以判断用户名存不存在了。
string
username
=
textbox1.text.tostring();
string
password
=
textbox2.text.tostring();
string
qq
=
"select
*
from
login
where
username='"
+
username
+
"'";
sqlconnection
conn
=
new
sqlconnection(connstring);
conn.open();
sqlcommand
cmd
=
new
sqlcommand(qq,
conn);
sqldatareader
dr
=
cmd.executereader();
if
(dr.hasrows)
//判断dr是否返回了一行或多行数据
{
messagebox.show("用户名已存在,请重新输入!");
}
else
{
。。。。。。
}
C. 怎么把sql文件直接在sql命令行里执行
要在SQL命令行中直接执行SQL文件,可以按照以下步骤操作:
首先,打开CMD命令行窗口,这是进入DOS命令行环境的入口。
接着,使用sqlplus命令进入SQL命令行状态,输入命令:c:\sqlplus/nolog。
然后,通过输入命令连接到数据库,格式为:connect 数据库用户名/密码@sid_ip,例如:sql>connectionljm/ljm@ljm_localhost(这里的ljm_localhost指的是本地数据库的SID)。
最后,执行SQL脚本文件,使用@后面跟上完整的文件路径,例如:sql>@D:\sql_scripts\script.sql。
如果需要导入SEQUENCE,可以使用TOAD工具生成SEQ脚本文件,然后通过上述方法导入。
需要注意的是,在执行SQL文件前,确保SQL文件路径正确无误,数据库连接信息准确,以及具备相应的权限。
对于本地数据库的SID,可以通过查询V$INSTANCE视图来确定,例如:select instance_name from v$instance;
执行完SQL脚本文件后,可以通过SQL命令行窗口查看执行结果或错误信息。
此外,确保在操作过程中遵循安全规范,避免执行恶意脚本或泄露敏感信息。
以上步骤可以帮助你在SQL命令行环境中高效地执行SQL文件,实现数据库的管理和维护。