怎样用设置控件属性的方法把一个存储过程的结果显示在DataGridView中? ( 积分: 100 )

  • 主题发起人 主题发起人 DF7C3
  • 开始时间 开始时间
D

DF7C3

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道有办法用动态创建控件的办法可以实现,
但我的目的就是一定要用设置控件属性的方法来实现,而不是绕开它。
 
应该不可能完全用控件来实现吧,
这是我调用的一个存储过程
private void AddRow_Click(object sender, System.EventArgs e)
{
//创建数据库操作对象
SqlCommand MyCommand =new SqlCommand();
//SqlConnection MyConn=new SqlConnection(ConfigurationSettings.AppSettings["TSConn"].ToString());
MyCommand.Connection=conn;
conn.Open();

//指定要调用的存储过程
if(Page.IsValid==true)
{
try
{
MyCommand.CommandText="ts_insert_factoryvalue";
MyCommand.CommandType=CommandType.StoredProcedure;
SqlParameter para1=new SqlParameter("@FactoryID",SqlDbType.VarChar,20);
SqlParameter para2=new SqlParameter("@FactoryName",SqlDbType.VarChar,100);
SqlParameter para3=new SqlParameter("@PollutantCode",SqlDbType.Char,3);
SqlParameter para4=new SqlParameter("@PollutantName",SqlDbType.VarChar,30);
SqlParameter para5=new SqlParameter("@Class",SqlDbType.VarChar,30);
SqlParameter para6=new SqlParameter("@value",SqlDbType.Float,8);
SqlParameter para7=new SqlParameter("@PreDeclareYear",SqlDbType.Char,4);
SqlParameter para8=new SqlParameter("@OutAmount",SqlDbType.VarChar,30);
SqlParameter para9=new SqlParameter("@code",SqlDbType.VarChar,8);
para1.Value=FID;
para2.Value="";
para3.Value="";
para4.Value="";
para5.Value="";
para6.Value="1";
para7.Value="";
para8.Value="";
para9.Value=code;
MyCommand.Parameters.Add(para1);
MyCommand.Parameters.Add(para2);
MyCommand.Parameters.Add(para3);
MyCommand.Parameters.Add(para4);
MyCommand.Parameters.Add(para5);
MyCommand.Parameters.Add(para6);
MyCommand.Parameters.Add(para7);
MyCommand.Parameters.Add(para8);
MyCommand.Parameters.Add(para9);
MyCommand.ExecuteNonQuery();

}
catch(Exception error)
{
Response.Write(error.ToString());
}
finally
{
//Response.Write("<script language=/"javascript/">alert(/"插入数据成功/")</script>");
//Message.Text="<script language=/"javascript/">alert(/"插入数据成功!/")</script>";

conn.Close();
}
DataGridDataBind();
}
}
希望能帮到你。
 
CommandType=StoredProcedure;
就可以
 
我的主要问题是对DataSet选定了存储过程之后,预览不出数据来。
 
在设置控件的属性时,隐式执行存储过程,同时把存储过程查询的数据付给指定的控件即可
 
我的主要问题是对DataSet选定了存储过程之后,
同样是是返回一个结果集的存储过程,
有的能预览出数据来,而有的却不能。
另外,如果我要在一个DataGrid里显示一个存储过程执行结果,
都要添加哪些控件,设定哪些属性?
 
你试一下:
1、在Form里放三个控件
DBGrid1: TDBGrid;
ADOStoredProc1: TADOStoredProc;
DataSource1: TDataSource;
设置好ADOStoredProc1的连接属性,指定ProcedureName,然后把三个控件关联起来:
DataSource1.DataSet :=ADOStoredProc1;
DBGrid1.DataSource := DataSource1;
2、 设置好ADOStoredProc1的参数,然后打开:
ADOStoredProc1.Open;
如果使用ADOStoredProc1.ExecProc则没有返回数据集。
 
我说的是visual studio 2005。
这个问题我提得不好,实际上我想问的东西是这个帖子里的。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3691607
 
后退
顶部