我正在使用 divexpress pivotgrid control 。
我想保存并恢复布局。我只需使用Session
即可。
但我不知道如何将其保存到我的SQL数据库中。
此代码没有数据库 已更新
protected void ASPxButton1_Click(object sender, EventArgs e)
{
Session["Layout"] = ASPxPivotGrid1.SaveLayoutToString();
MemoryStream stream = new MemoryStream(byteArray);
string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "INSERT INTO [HQWebMatajer].[dbo].[ReportSave]([UserID],[ReportName],[UserFileName],[ReportData])VALUES('faisal.3012','TotalSales','faisalxxx',@ReportData)";
cmd.Parameters.AddWithValue("@ReportData", stream);
con.Open();
cmd.ExecuteNonQuery();
}
//divServer.InnerHtml = Session["Layout"].ToString();
}
protected void ASPxButton2_Click(object sender, EventArgs e)
{
string text = "";
string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select reportdata from [HQWebMatajer].[dbo].[ReportSave] where UserID='faisal.3012'";
con.Open();
string xxx = cmd.ExecuteScalar().ToString();
StreamReader reader = new StreamReader(xxx);
text = reader.ReadToEnd();
}
ASPxPivotGrid1.LoadLayoutFromString(text);
}
更新:保存到数据库正在运行,但是当我尝试从数据库还原时会抛出以下错误
System.IO.FileNotFoundException:找不到文件' C:\ Program Files(x86)\ IIS Express \ System.Byte []。
在这一行
StreamReader reader = new StreamReader(xxx);
我不知道如何转换以及转换的位置。同样的问题在this link.中的devexpress中提出。他们提到this stackoverflow。但转换我不明白如何进入我的场景。
由于
答案 0 :(得分:0)
select reportdata from [HQWebMatajer].[dbo].[ReportSave] where UserID='faisal.3012'
您可以检查数据库中上述行的输出。
您可能没有使用网格数据初始化变量byteArray。中断代码
MemoryStream stream = new MemoryStream(byteArray);
并检查您存储在DB中的内容。