- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我卡住了:这是我的示例代码
namespace WindowsFormsApplicationXml
{
public partial class Form1 : Form
{
string ConString, CmdString;
int TotalRecords;
SqlConnection con;
SqlCommand cmd;
SqlDataReader reader;
public Form1()
{
InitializeComponent();
ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
}
public class MyWorkerClass
{
public int UserID;
}
private void btnSaveXML_Click(object sender, EventArgs e)
{
MyWorkerClass obj = new MyWorkerClass();
if (!backgroundWorker1.IsBusy)
{
TotalRecords = GetTotalRecords();
progressBar1.Maximum = TotalRecords;
backgroundWorker1.RunWorkerAsync(obj);
}
}
private int GetTotalRecords()
{
try
{
using (con = new SqlConnection(ConString))
{
cmd = new SqlCommand("SELECT COUNT(UserID) FROM UserMaster", con);
con.Open();
TotalRecords = int.Parse(cmd.ExecuteScalar().ToString());
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return TotalRecords;
}
public void LoadData(MyWorkerClass obj)
{
try
{
lblMessage.Text = "Please, Wait importing data from XML is in progress....";
lblMessage.Visible = true;
btnSaveXML.Enabled = false;
DataSet ds = new DataSet();
XmlTextReader xmlreader = new XmlTextReader(txtXMLFilePath.Text.ToString());
xmlreader.MoveToContent();
xmlreader.Read();
ds.ReadXml(xmlreader);
xmlreader.Close();
if (ds.Tables.Count != 0)
{
using (SqlConnection con = new SqlConnection("Data Source= YOUNGTECH-PC\\SQLEXPRESSNEW;Integrated Security=true;Initial Catalog=CADirect_CT; uid=reshav; Password=kanak; "))
{
string xml = ds.GetXml();//for verification code
con.Open();
SqlCommand cmd = new SqlCommand("sp_ct_importUserXml", con);
cmd.CommandType = CommandType.StoredProcedure;
int i = 0;
cmd.Parameters.Add("@XMLdata", SqlDbType.Xml).Value = ds.GetXml();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds1 = new DataSet();
da.Fill(ds1);
lblResulttext.Visible = true;
dgviewXMLData.Visible = true;
dgviewXMLData.DataSource = ds1.Tables[0].DefaultView;
AutoNumberRowsForGridView(dgviewXMLData);
//i++;
//Thread.Sleep(10);
con.Close();
lblMessage.Text = "Successfully import XML data with below result.";
btnSaveXML.Enabled = true;
}
}
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.Text = ex.Message;
}
}
public void AutoNumberRowsForGridView(DataGridView dataGridView)
{
if (dataGridView != null)
{
for (int count = 0; (count <= (dataGridView.Rows.Count - 1)); count++)
{
dataGridView.Rows[count].HeaderCell.Value = string.Format((count + 1).ToString(), "0");
}
}
}
private void btnBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
// To list only xml files, we need to add this filter
openFileDialog.Filter = "|*.xml";
DialogResult result = openFileDialog.ShowDialog();
if (result == DialogResult.OK)
{
txtXMLFilePath.Text = openFileDialog.FileName;
}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
MyWorkerClass obj = (MyWorkerClass)e.Argument;
LoadData(obj);
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
if (!backgroundWorker1.CancellationPending)
{
MyWorkerClass obj = (MyWorkerClass)e.UserState;
}
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
}
}
}
最佳答案
您可以定义一个 Controller 子操作,它可以根据导入的数据量返回条形图的值 (0-100)。
使用 ajax 调用渲染进度条,每 500 毫秒:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Title</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<div id="progressbar"></div>
<script >
//Calls function every 3 seconds
$(function()
{
$("#progressbar").progressbar(
{
value: 0
});
});
window.setInterval(function()
{
window.progressBarValue = 0;
if(window.progressBarValue < 100)
{
$.ajax(
{
//I'm using this to get a random int, you should create a controller action which should return the data status
url: "http://www.random.org/integers/?num=1&min=1&max=100&col=1&base=10&format=plain&rnd=new", //"@Url.Action("YourGetProgressBarAction","YourControllerName")",
success:function(data)
{
//data should be a value like 37, 53, 87
$(function()
{
window.progressBarValue = parseInt(data);
$("#progressbar").progressbar(
{
value: parseInt(data)
});
});
}}
);
}
},500);
</script>
</body>
</html>
关于如何获取多少导入的XML,就看你怎么做了。最简单的方法是计算 XML 中有多少对象,并在每次成功插入数据库后更新进度条。
通过这种方式,您可以调用估计您在 Controller 操作中导入了多少的方法(将总数存储在一个变量中,并通过属性或方法将其提供给 Controller )。通过了解您的 XML 中有多少对象以及导入了多少对象,您可以应用三原则来确定进度条状态。
关于c# - 如何在将 XML 文件导入 SQL Server Management Studio 时为存储过程创建进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010263/
SQL、PL-SQL 和 T-SQL 之间有什么区别? 谁能解释一下这三者之间的区别,并提供每一个的相关使用场景? 最佳答案 SQL 是一种对集合进行操作的查询语言。 它或多或少是标准化的,几乎所有关
这个问题已经有答案了: What is the difference between SQL, PL-SQL and T-SQL? (6 个回答) 已关闭 9 年前。 我对 SQL 的了解足以完成我的
我在数据库中有一个 USER 表。该表有一个 RegistrationDate 列,该列有一个默认约束为 GETDATE()。 使用 LINQ 时,我没有为 RegistrationDate 列提供任
我有一个可能属于以下类型的字符串 string expected result 15-th-rp 15 15/12-rp 12 15-12-th
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 9年前关闭
我有一个存储过程(称为 sprocGetArticles),它从文章表中返回文章列表。这个存储过程没有任何参数。 用户可以对每篇文章发表评论,我将这些评论存储在由文章 ID 链接的评论表中。 有什么方
我目前正在做一个 *cough*Oracle*cough* 数据库主题。讲师介绍embedded SQL作为让其他语言(例如 C、C++)与(Oracle)数据库交互的方式。 我自己做了一些数据库工作
SQL Server 中 SQL 语句的最大长度是多少?这个长度是否取决于 SQL Server 的版本? 例如,在 DECLARE @SQLStatement NVARCHAR(MAX) = N'S
这个问题已经有答案了: Simple way to transpose columns and rows in SQL? (9 个回答) 已关闭 8 年前。 CallType
预先感谢您对此提供的任何帮助。 假设我有一个查询,可以比较跨年的数据,从某个任意年份开始,永无止境(进入 future ),每年同一时期直到最后一个完整的月份(其特点是一月数据永远不会显示至 2 月
我在数据库中有一个 USER 表。该表有一个 RegistrationDate 列,该列的默认约束为 GETDATE()。 使用 LINQ 时,我没有为 RegistrationDate 列提供任何数
下面是我试图用来检查存储过程是否不存在然后创建过程的 sql。它会抛出一个错误:Incorrect syntax near the keyword 'PROCEDURE' IF NOT EXISTS
我有一个同事声称动态 SQL 在许多情况下比静态 SQL 执行得更快,所以我经常看到 DSQL 到处都是。除了明显的缺点,比如在运行之前无法检测到错误并且更难阅读,这是否准确?当我问他为什么一直使用
来自 lobodava 的动态 SQL 查询是: declare @sql nvarchar(4000) = N';with cteColumnts (ORDINAL_POSITION, CO
使用 SQL Server 中的存储过程执行动态 SQL 命令的现实优点和缺点是什么 EXEC (@SQL) 对比 EXEC SP_EXECUTESQL @SQL ? 最佳答案 sp_executes
我有这个有效的 SQL 查询: select sum(dbos.Points) as Points, dboseasons.Year from dbo.StatLines dbos i
我正在调试一些构建成功运行的 SQL 命令的代码。 然而,在查询结束时,查询结果似乎被写入了一个文本文件。 完整的查询如下 echo SELECT DATE,DATETABLE,DATE,APPDAT
我有一些创建表的 .sql 文件(MS SQL 数据库): 表_1.sql: IF OBJECT_ID (N'my_schema.table1', N'U') IS NOT NULL DROP TAB
我写了下面的 SQL 存储过程,它一直给我错误@pid = SELECT MAX(... 整个过程是: Alter PROCEDURE insert_partyco @pname varchar(20
我在 SQL Server 2005 中有包含两列 Fruit 和 Color 的表,如下所示 Fruit Colour Apple Red Orange
我是一名优秀的程序员,十分优秀!