用session传值时,操作提示有错误 没分了,希望知道的人告诉一下 Server.Transfer("webform3.aspx");Session["@s_name"]= nameTextBox.Text .Trim () 顺序换一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在webform3.aspx添好数据提交后,我就是想把第一页中的nameTextBox.Text .Trim 值也插入表中,可插入代码没说有其它的错,只提示 :必须声明变量 '@s_name'。我的插入代码如下 int @condtion=0; string ConnStr="server=ED32E0D74620400;database=kang;uid=sa;pwd=;";// 创建Connection和Command对象SqlConnection Conn = new SqlConnection(ConnStr);string str_cmd="insert into parameter (name,path,condtion) values" + " (@s_name,@path,@condtion)";SqlCommand myCommand = new SqlCommand(str_cmd,Conn ); Conn.Open();int ExeNum=myCommand.ExecuteNonQuery(); if(ExeNum==0) { Console.Write("成功 "); } else { Console.Write("失败"); } Conn.Close(); 你用了传参方式的SQL查询.但是没有给sqlcommand参数,需要类似下面SqlParameter[] myParams=new SqlParameter[3];//3个参数myParams[0]=new SqlParameter("@s_name",SqlDbType.VarChar);//第一个参数@s_name,类型varcharmyParams[0].Value=Session["@s_name"].ToString();//值myParams[1]..........后面的参数按自己实际情况加你Session["@s_name"]的@s_name和SQL语句里面的@s_name并不是一个概念,没什么关系的.而且定义变量名字最好不要用@开始. 我只引用第一页面的值s_name,,其它两个@path,@condtion是webform3.aspx的值,我改如下 int @condtion=0;string ConnStr="server=ED32E0D74620400;database=kang;uid=sa;pwd=;" // 创建Connection和Command对象 // 初始化Command对象 SqlParameter[] myParams=new SqlParameter[0]; myParams[0]=new SqlParameter("s_name",SqlDbType.Int);// myParams[0].Value=Session["s_name"].ToString();// SqlConnection Conn = new SqlConnection(ConnStr); string str_cmd="insert into parameter (name,path,condtion) values" + " (s_name,@path,@condtion)"; SqlCommand myCommand = new SqlCommand(str_cmd,Conn ); Conn.Open(); int ExeNum=myCommand.ExecuteNonQuery(); if(ExeNum==0) { Console.Write("fefgr "); } else { Console.Write("fefgr "); } Conn.Close();运行时错误提示:索引超出了数组界限。行 147:myParams[0]=new SqlParameter("s_name",SqlDbType.Int);//谢谢指导 string ConnStr="server=ED32E0D74620400;database=kang;uid=sa;pwd=;"; SqlConnection Conn = new SqlConnection(ConnStr); string str_cmd="insert into parameter (name,path,condtion) values" + " (@s_name,@path,@condtion)"; SqlCommand myCommand = new SqlCommand(str_cmd,Conn ); myCommand.Parameters.Add("@s_name",SqlDbType.VarChar); myCommand["@s_name"]=Session["s_name"].ToString(); myCommand.Parameters.Add("@path",SqlDbType.VarChar); myCommand["@path"]="testpath"; myCommand.Parameters.Add("@condtion",SqlDbType.Int); myCommand["@condtion"]=0; int ExeNum=myCommand.ExecuteNonQuery(); if(ExeNum==0) { Console.Write("error"); } else { Console.Write("OK"); } Conn.Close(); @@@???存储过程里的东西跑到session干吗非要加个@作session名字干吗 顶8楼,session可以在页面之间共享,干嘛还要把它传过去? .net的简单算法 怎么让CMD窗口持续输出我想要输出的内容? 菜单图标不显示问题。 谁能给个获取文件crc32的算法啊? .NET中用C#语言实现http参数传递的问题,及相关接口的实现 C#中,这样的接口怎么在类中调用啊? 如何在.net中通过编程修改文件或文件夹的访问权限 做C#到底有没有前途? 如何改变datagrid的行宽 关于vs2010打包程序 请大家帮忙看一下C#查询数据库的语句 网络蜘蛛:关于WebBrowser与HttpWebRequest结合使用的问题
int @condtion=0;
string ConnStr="server=ED32E0D74620400;database=kang;uid=sa;pwd=;";
// 创建Connection和Command对象
SqlConnection Conn = new SqlConnection(ConnStr);
string str_cmd="insert into parameter (name,path,condtion) values" + " (@s_name,@path,@condtion)";
SqlCommand myCommand = new SqlCommand(str_cmd,Conn );
Conn.Open();
int ExeNum=myCommand.ExecuteNonQuery();
if(ExeNum==0)
{
Console.Write("成功 ");
}
else
{
Console.Write("失败");
}
Conn.Close();
SqlParameter[] myParams=new SqlParameter[3];//3个参数
myParams[0]=new SqlParameter("@s_name",SqlDbType.VarChar);//第一个参数@s_name,类型varchar
myParams[0].Value=Session["@s_name"].ToString();//值
myParams[1].....
.....后面的参数按自己实际情况加你Session["@s_name"]的@s_name和SQL语句里面的@s_name并不是一个概念,没什么关系的.
而且定义变量名字最好不要用@开始.
int @condtion=0;
string ConnStr="server=ED32E0D74620400;database=kang;uid=sa;pwd=;"
// 创建Connection和Command对象
// 初始化Command对象
SqlParameter[] myParams=new SqlParameter[0];
myParams[0]=new SqlParameter("s_name",SqlDbType.Int);//
myParams[0].Value=Session["s_name"].ToString();//
SqlConnection Conn = new SqlConnection(ConnStr);
string str_cmd="insert into parameter (name,path,condtion) values" + " (s_name,@path,@condtion)";
SqlCommand myCommand = new SqlCommand(str_cmd,Conn );
Conn.Open();
int ExeNum=myCommand.ExecuteNonQuery();
if(ExeNum==0)
{
Console.Write("fefgr ");
}
else
{
Console.Write("fefgr ");
}
Conn.Close();运行时错误提示:索引超出了数组界限。行 147:myParams[0]=new SqlParameter("s_name",SqlDbType.Int);//
谢谢指导
SqlConnection Conn = new SqlConnection(ConnStr); string str_cmd="insert into parameter (name,path,condtion) values" + " (@s_name,@path,@condtion)";
SqlCommand myCommand = new SqlCommand(str_cmd,Conn ); myCommand.Parameters.Add("@s_name",SqlDbType.VarChar);
myCommand["@s_name"]=Session["s_name"].ToString();
myCommand.Parameters.Add("@path",SqlDbType.VarChar);
myCommand["@path"]="testpath";
myCommand.Parameters.Add("@condtion",SqlDbType.Int);
myCommand["@condtion"]=0; int ExeNum=myCommand.ExecuteNonQuery();
if(ExeNum==0)
{
Console.Write("error");
}
else
{
Console.Write("OK");
}
Conn.Close();