我想用一句SQL语句通过程序传递给数据源,在通过数据源传递给报表,我不知道在报表设计器中该如何设计每一个字段,也不知道该如何把数据源传到水晶报表里?
不知道各位大虾明白我的意思吗?
解决方案 »
- 什么情况下可以用gridview.datakeys[e.rowindex].value获得主键的值
- DataGridView 新行(*标行)获得焦点后,键盘输入产生新行,但代码赋值却不产生新行?
- 调用DLL时,参数值传英文ok,传中文时报异常。内祥
- E:\site\my\WebForm1.aspx.cs(55): 找不到类型或命名空间名称“SqlHelper”(是否缺少 using 指令或程序集引用?)
- 请问C#如何操作VFP数据库及表?
- vc.net__________PictureBox遍历
- C#中如何分层?
- j2[1]=new int[] {1,2,3,4,5,6}其中的j2[1]里面的1代表什么意思?
- 我想问一下,大家所在的公司软件项目提成都是怎么分配的?
- 关于写文件的问题
- ************* xwdd129(因为有你^_^) 进来看一下,水晶报表 流水号显示
- 关于split()
",b.line_no,b.shoplocname as shoploc,b.barid,b.goodsname,b.unitname as unit,b.price,b.PLAN_QTY,a.planfmno" +
" from Vw_PLANPOMAIN a inner join Vw_PLANPODETAIL b on a.plan_no=b.plan_no";
SqlConnection myConnection=new SqlConnection(ConnectionString);
myConnection.Open();SqlDataAdapter myDataAdapter=new SqlDataAdapter(strSql,myConnection);
DataSet myDataSet=new DataSet();
myDataAdapter.Fill(myDataSet,"Table1");oRpt.Load("C:\\Inetpub\\wwwroot\\WebTest\\PLANNO.rpt");
ParameterFields paramFields=new ParameterFields();
/*
ParameterField paramField0=new ParameterField();
ParameterField paramField1=new ParameterField();
ParameterField paramField2=new ParameterField();
ParameterDiscreteValue discreteVal=new ParameterDiscreteValue();
*/
ArrayList ParaFValue=new ArrayList();
ArrayList ParaFName=new ArrayList();
ParaFValue.Add("微软中国");
ParaFValue.Add("订货单");
ParaFValue.Add("alan");
ParaFName.Add("@Company");
ParaFName.Add("@ReportName");
ParaFName.Add("@Printer");for(int i=0;i<ParaFValue.Count;i++)
{
ParameterDiscreteValue discreteVal=new ParameterDiscreteValue();
discreteVal.Value=ParaFValue[i].ToString();
ParameterField paramField=new ParameterField();
paramField.Name=ParaFName[i].ToString();
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
}
/*
discreteVal.Value="微软中国";
paramField0.Name="@Company";
paramField0.CurrentValues.Add(discreteVal);discreteVal=new ParameterDiscreteValue();
discreteVal.Value="订货单";
paramField1.Name="@ReportName";
paramField1.CurrentValues.Add(discreteVal);discreteVal=new ParameterDiscreteValue();
discreteVal.Value="alan";
paramField2.Name="@Printer";
paramField2.CurrentValues.Add(discreteVal);paramFields.Add(paramField0);
paramFields.Add(paramField1);
paramFields.Add(paramField2);
*/
CrystalReportViewer1.ParameterFieldInfo=paramFields;
oRpt.Subreports["SubReport"].SetDataSource(myDataSet.Tables["Table1"]);
oRpt.SetDataSource(myDataSet.Tables["Table1"]);
CrystalReportViewer1.ReportSource=oRpt;
//CrystalReportViewer1.DataBind();
CrystalReportViewer1.ShowPreviousPage();
谢谢!
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSelOrders = "Select * from orders";
string strSelOrdersDetails = "Select * from [Order Details]";
SqlDataAdapter daOrder = new SqlDataAdapter(strSelOrders,MyConn);
SqlDataAdapter daOrderDetails = new SqlDataAdapter(strSelOrdersDetails,MyConn);
DataSet ds = new DataSet();
daOrder.Fill(ds,"orders");
daOrderDetails.Fill(ds,"Order Details");
MyConn.Close();
ReportDoc.Load(Server.MapPath("myCrystalReportMandS.rpt"));
ReportDoc.SetDataSource(ds);
cRV.ReportSource = ReportDoc;
利用存储过程查询数据库填到数据集中, 数据集传递给报表文件,作为查器的数据源
3、在DataSet1里添加表DataTable1
在DataTable1里添加四列Column1,Column2,Column3,Column4 ,保存
4、添加一个水晶报表文件CrystalReport1.rpt
设置数据源:项目数据(Project Data)-->Ado.net DataSets-->***.DataSet1-->DataTable1
5、把Column1,Column2,Column3,Column4拖到水晶报表的细节(Details)中
6、添加一个控件CrystalReportViewer1到Form1中 7、然后添加Form1_Load的代码 Dim m_sqlConn As SqlConnection
Dim m_strSqlConn As String
m_strSqlConn = "Data Source=localhost; initial catalog=pubs;User id=sa;password="
m_sqlConn = New SqlConnection(m_strSqlConn)
Try
Dim sqlAdp As SqlDataAdapter
Dim strSql As String
Dim ds = New DataSet()
m_sqlConn.Open()
strSql = "SELECT au_lname AS Column1, au_fname AS Column2, phone AS Column3, address AS Column4 FROM dbo.authors"
sqlAdp = New SqlDataAdapter(strSql, m_sqlConn)
sqlAdp.Fill(ds) Dim crReportDocument = New CrystalReport1()
crReportDocument.SetDataSource(ds.Tables(0))
CrystalReportViewer1.ReportSource = crReportDocument
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
8、在form1.vb文件头加 Imports System.Data
Imports System.Data.SqlClient
9、 m_strSqlConn = "Data Source=localhost; initial catalog=pubs;User id=sa;password="这个可能要修改成你的机器的Sql Server连接信息 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=599687