try
{
CrystalReport1 partr = new CrystalReport1();
string conn = "workstation id=E304BFF64FEC440;packet size=4096;integrated security=SSPI;initial " +"catalog=CarMSys;persist security info=False;";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string sql = "select Z4.ipri, Z4.iname_part,jprofit = (sum(Z3.hnum_part) * (Z4.ipri - Z4.icost) ), sum(Z3.hnum_part)"+"from Z3,Z4"+"where (Z3.hdate_f between '"+startt+"' and '"+endt+"')";
SqlDataAdapter da =new SqlDataAdapter(sql,cn);
DataSet ds = new DataSet();
da.Fill(ds);
partr.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = partr;
}
catch(SqlException err)
{
MessageBox.Show(err.Message);
}为什么输出怎么样的错误啦{"第 1 行: '.' 附近有语法错误。" }
{
CrystalReport1 partr = new CrystalReport1();
string conn = "workstation id=E304BFF64FEC440;packet size=4096;integrated security=SSPI;initial " +"catalog=CarMSys;persist security info=False;";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string sql = "select Z4.ipri, Z4.iname_part,jprofit = (sum(Z3.hnum_part) * (Z4.ipri - Z4.icost) ), sum(Z3.hnum_part)"+"from Z3,Z4"+"where (Z3.hdate_f between '"+startt+"' and '"+endt+"')";
SqlDataAdapter da =new SqlDataAdapter(sql,cn);
DataSet ds = new DataSet();
da.Fill(ds);
partr.SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = partr;
}
catch(SqlException err)
{
MessageBox.Show(err.Message);
}为什么输出怎么样的错误啦{"第 1 行: '.' 附近有语法错误。" }
若是联合查询建议:
select * from Table1 A
inner join Table2 B
on A.公共字段 = B.公共字段
服务器: 消息 241,级别 16,状态 1,行 1
就输出从字符串转换为 datetime 时发生语法错误。
没加就很正常
+"from Z3,Z4"
+"where (Z3.hdate_f between '"+startt+"' and '"+endt+"')"
+"group by (float)Z4.ipri,(float)Z4.iname_part,(float)Z4.icost";by后面有什么错误?
ipri icost是float型
iname_part是char型
sql不是c#,不能用这样的类型进行转换,去掉(float)