日期:2014-05-18  浏览次数:20592 次

为什么前段没有获取数据呢?
//创建连接
  string connectiosnString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\demo\MyWebSite\App_Data\myData.mdf;Integrated Security=True;User Instance=True";
  SqlConnection conn = new SqlConnection(connectiosnString);
  conn.Open();


  //申明COMMAND并申明执行类型

  SqlCommand cmd = new SqlCommand("StoredProcedure2", conn);
  cmd.CommandType = CommandType.StoredProcedure;

  //获取存储过程中传过来的值

  cmd.Parameters.Add("@title", SqlDbType.NVarChar, 50);

  cmd.Parameters["@title"].Direction = ParameterDirection.Output;

  cmd.Parameters.Add("@webWords", SqlDbType.NVarChar, 50);

  cmd.Parameters["@webWords"].Direction = ParameterDirection.Output;

  cmd.Parameters.Add("@describ", SqlDbType.NVarChar,50) ;

  cmd.Parameters["@describ"].Direction = ParameterDirection.Output;

  cmd.Parameters.Add("@author", SqlDbType.NVarChar, 50);

  cmd.Parameters["@author"].Direction = ParameterDirection.Output;
   
  cmd.ExecuteNonQuery();
  conn.Close();

  //将获取的值传递给其它变量
  cmd.Parameters["@title"].Value=getTitle ;
  cmd.Parameters["@webWords"].Value=getWords;
  cmd.Parameters["@describ"].Value=getDescrib;
  cmd.Parameters["@author"].Value=getAuthor ;
代码没有报错,但是前端没有获取数据。
前端代码如下:
<head runat="server">
  <title><%=getTitle %></title>
  
</head>

问题是数据库中有数据呀,还是我那里没有弄好呢?

------解决方案--------------------

C# code

 cmd.ExecuteNonQuery();
  cmd.Parameters["@title"].Value=getTitle ;
  cmd.Parameters["@webWords"].Value=getWords;
  cmd.Parameters["@describ"].Value=getDescrib;
  cmd.Parameters["@author"].Value=getAuthor ;

conn.Close();

------解决方案--------------------
谁知道你的存储过程有没有问题呢,外面的代码也写的挺差的。
建议 SqlConnection 和 SqlCommand 都写成using
------解决方案--------------------
你的赋值怎么是倒着的?

cmd.Parameters["@title"].Value=getTitle ;
getTitle = cmd.Parameters["@title"].Value;

------解决方案--------------------
都没仔细看,你居然用了

cmd.ExecuteNonQuery(); 一般用于删除 添加 返回受影响的行。

C# code
 DataSet ds = new DataSet();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(ds);
                    return ds;

------解决方案--------------------
getTitle赋值操作在哪里,

还有,先确定你从存储过程output的参数已经获取到,并能response.write出来
------解决方案--------------------
他的代码错误百出。
楼主再好好学习一下SQL 吧。

ExecuteNonQuery(); 是非查询语句,怎么获取数据呢。 这个是用于 增删改的。