您的位置:首页 > 数据库

总结02-26用C#从sql数据库导出csv格式的数据,从csv格式读取数据导入到sql表中

2013-02-26 13:58 603 查看
用C#从sql数据库导出csv格式的数据

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using dooll.Data;
using System.Drawing;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;
namespace dooll.cs
{
public partial class _import : dooll.Web.UI.MasterPage
{
#region 全局变量
string name;
string qqNo;
string Tel;
string email;
string house;
string remark;
string RetrunNum;//执行sql存储过程返回的值
string title;
string Url = "";
public string fileCsvName = "";
int ImportId = 0;//获取t_business_thread_import导入的ID
int ImportDataID = 0;//获取录入t_business_thread_import_data表中的Id
string f_statusText = string.Empty;
public int F_siteID = 0;//从cookie上获取站点id
DateTime ordertime;
MsSql ms = new MsSql();
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["siteid"] != null)
{

F_siteID = Convert.ToInt32(Request.Cookies["siteid"].Value);
}
if (IsPostBack)
{
if (CSVHelper.CountSum != 0)
{
this.lblText.Style["color"] = "#777;font-size:12px";
lblText.Text = "录入完成,总共有<b>" + CSVHelper.CountSum + "</b>条,录入成功<b>" + CSVHelper.ThreadSum + "</b>条";

}
}
this.LabelInfo.ACL = 3;
ChkACL();

}
#region 上传csv文件,并获取内容是数据库
//上传
protected void btnUrl_Click(object sender, EventArgs e)
{
#region 获取并保存上传的文件
//获取并保存上传的文件
try
{
if (fuUpload.PostedFile != null && fuUpload.FileName != "")
{
CSVHelper.CountSum = 0;
CSVHelper.ImportSum = 0;
CSVHelper.ThreadSum = 0;
CSVHelper.Pathurl = string.Empty;
CSVHelper.ImportId = 0;
Random rad = new Random();
string smsg = fuUpload.FileName.ToString();
string[] split = smsg.Split('.');
string namehouzhui = "." + split[1];//获取后缀名
//判断后缀名称-------------start
string fileExtension = System.IO.Path.GetExtension(fuUpload.FileName).ToLower();
string allowedExtensions = ".csv";
if (fileExtension != allowedExtensions)
{
Error.Text = "格式不正确,必须是csv格式!";
lblText.Text = "请重新选择......";
Error.ForeColor = Color.Red;
return;
}
else
{
Error.Text = "";
lblText.Text = "请稍等...";
}
//判断后缀名称-------------end
int value = rad.Next(1000, 10000);
Url = DateTime.Now.ToString("yyyyMMdd");
string fileUrl = DateTime.Now.ToString("HHmm");
string filename = fileUrl + value + namehouzhui;
string pathurl = Server.MapPath(@"\cache\import\" + Url + "");
CreateDirectory(pathurl);
CSVHelper.fileUrl = pathurl + "\\";
fileCsvName = filename;
fuUpload.PostedFile.SaveAs(pathurl + "\\" + filename + "");
CSVHelper.Pathurl = pathurl + "\\" + filename + "";
}
else
{
lblText.Text = "请选择需上传的文件!!!";
lblText.ForeColor = Color.Red;
givImport.Visible = false;
return;
}
}
catch (Exception ex)
{
Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
#endregion
//当下拉框选择的是QQ楼盘报名
if (DDLList.SelectedValue == "1")
{
Import();
}

// 删除缓存数据
DeleteDirectory(CSVHelper.Pathurl);
this.lblText.Style["color"] = "#777;font-size:12px";
if (CSVHelper.CountSum != 0)
{
lblText.Text = "录入完成,总共有<b>" + CSVHelper.CountSum + "</b>条,录入成功<b>" + CSVHelper.ThreadSum + "</b>条";
}
this.btnlook.Visible = true;
}

#endregion

#region 查看导入的数据
/// <summary>
/// 查看导入的数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnlook_Click(object sender, EventArgs e)
{
this.btnlook.Visible = true;
givImport.Visible = true;
this.btnlook.Visible = false;

DataSet ds = new DataSet();
SqlParameter[] sp = new SqlParameter[] {
new SqlParameter("@f_import_id",SqlDbType.Int) };
sp[0].Value = CSVHelper.ImportId.ToString();
ms.ExecProc("sp_admin_business_thread_import_data_selectByImportId", sp, ref ds, "TableName");
string s = ms.ErrMessage;
givImport.DataSource = ds;
givImport.DataBind();

try
{
foreach (GridViewRow rs in givImport.Rows)
{
int statusId = Convert.ToInt32(rs.Cells[14].Text.ToString());
if (statusId > 1 || statusId < 0)
{
rs.ForeColor = Color.Red;
}
}
}
catch (Exception ex)
{

Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
}
#endregion

#region 分页事件
/// <summary>
/// 分页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void givImport_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
givImport.Visible = true;
givImport.PageIndex = e.NewPageIndex;
givImport.AllowPaging = true;
givImport.PageSize = 50;

DataSet ds = new DataSet();
SqlParameter[] sp = new SqlParameter[] {
new SqlParameter("@f_import_id",SqlDbType.Int) };
sp[0].Value = CSVHelper.ImportId.ToString();
ms.ExecProc("sp_admin_business_thread_import_data_selectByImportId", sp, ref ds, "TableName");
givImport.DataSource = ds;
givImport.DataBind();

try
{
foreach (GridViewRow rs in givImport.Rows)
{
int statusId = Convert.ToInt32(rs.Cells[14].Text.ToString());
if (statusId > 1 || statusId < 0)
{
rs.ForeColor = Color.Red;
}
}
}
catch (Exception ex)
{

Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
}

#endregion

#region 根据目录删除文件
//根据目录删除文件
public void DeleteDirectory(string path)
{
File.Delete(path);
}
#endregion

#region 根据目录创建文件
private static void CreateDirectory(string path)
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
#endregion

#region 导入数据到t_business_thread_import_data表中
public void Import()
{
#region 往dbo.t_business_thread_import表插入纪录
//往dbo.t_business_thread_import表插入纪录-------star
SqlParameter[] alist = new SqlParameter[]{
new SqlParameter("@f_title",SqlDbType.NVarChar,50),
new SqlParameter("@f_master_id",SqlDbType.Int),
new SqlParameter("@f_master_name",SqlDbType.NVarChar,50),
new SqlParameter("@f_count",SqlDbType.Int),
new SqlParameter("@f_okcount",SqlDbType.Int),
new SqlParameter("@output",SqlDbType.Int),
new SqlParameter("@f_siteid",SqlDbType.Int)
};
title = fuUpload.FileName.ToString();
string[] spt = title.Split('.');
title = spt[0];
alist[0].Value = title;
if (Admin.ID == "" || Admin.ID == null)
{
alist[1].Value = 0;
}
else
{
alist[1].Value = Convert.ToInt32(Admin.ID);
}
alist[2].Value = Admin.Description;
alist[3].Value = "0";
alist[4].Value = "0";
alist[5].Direction = ParameterDirection.InputOutput;
alist[6].Value = F_siteID;
int i = ms.ExecProc("sp_admin_business_thread_import_insert", alist);//执行存储过程后返回值
string error = ms.ErrMessage;
if (i <= 0)//0失败,1成功
{

Error.Text = ms.ErrMessage;
Error.ForeColor = Color.Red;
return;
}
if (i == 2)
{
Error.Text = "导入失败!";
Error.ForeColor = Color.Red;
return;
}
string s = ms.ErrMessage;
ImportId = Convert.ToInt32(alist[5].Value); //执行完存储过程获取返回的ImportId值
CSVHelper.ImportId = ImportId;
if (ImportId == null || ImportId == 0)
{
Error.Text = "导入失败!";
Error.ForeColor = Color.Red;
return;
}
//往dbo.t_business_thread_import表插入纪录-------end
//在构造函数中传入文件路径和文件名
// CSVHelper CsvFile = new CSVHelper(Server.MapPath("") + "\\", fuUpload.FileName);
CSVHelper CsvFile = new CSVHelper(CSVHelper.fileUrl, fileCsvName);
DataTable dt = CsvFile.ReadCsvFileToTable();//一种是采用文件流形式读取
CSVHelper.CountSum = dt.Rows.Count;//总共有多少条
#endregion

#region 获取数据
foreach (DataRow dr in dt.Rows)
{

try
{
if (dr[0] != null)
{
name = dr[0].ToString();
}
else
{
name = string.Empty;
}
if (dr[1] != null)
{
qqNo = (dr[1]).ToString();
}
else
{
qqNo = string.Empty;
}
if (dr[2] != null)
{
Tel = (dr[2]).ToString();
}
else
{
Tel = string.Empty;
}

if (dr[3] != null)
{
email = dr[3].ToString();
}
else
{
email = string.Empty;
}

if (dr[4] != null)
{
house = dr[4].ToString();
}
else
{
house = string.Empty;
}
if (dr[5] != null)
{
ordertime = Convert.ToDateTime(dr[5]);
}
else
{
ordertime = DateTime.Now;
}
if (dr[6] != null)
{
remark = dr[6].ToString();
}
else
{
remark = string.Empty;
}
}
catch (Exception ex)
{
Error.Text = "格式不正确,无法导入!";
Error.ForeColor = Color.Red;
return;
}
#region 导入数据
try
{
SqlParameter[] arr = new SqlParameter[] {
new SqlParameter("@f_client_name",SqlDbType.NVarChar,50),
new SqlParameter("@f_client_qq",SqlDbType.VarChar,50),
new SqlParameter("@f_client_tel",SqlDbType.VarChar,50),
new SqlParameter("@f_client_email",SqlDbType.VarChar,250),
new SqlParameter("@f_newhouse",SqlDbType.NVarChar,50),
new SqlParameter("@f_ordertime",SqlDbType.DateTime),
new SqlParameter("@f_remark",SqlDbType.NVarChar,250),
new SqlParameter("@f_siteid",SqlDbType.Int),
new SqlParameter("@f_import_id",SqlDbType.Int),
new SqlParameter("@output",SqlDbType.Int)
};
arr[0].Value = name;
arr[1].Value = qqNo;
arr[2].Value = Tel;
arr[3].Value = email;
arr[4].Value = house;
arr[5].Value = ordertime;
arr[6].Value = remark;
arr[7].Value = F_siteID;
arr[8].Value = ImportId.ToString();
arr[9].Direction = ParameterDirection.InputOutput;
RetrunNum = ms.ExecProc("sp_admin_business_thread_import_data_Insert", arr).ToString();//执行存储过程
string errors = ms.ErrMessage;
//注释:在执行sql存储过程后返回的值
switch (RetrunNum)
{
case "2":
f_statusText = "导入失败!";
break;
case "3":
f_statusText = "线索表存在记录!";
++CSVHelper.ImportSum;
break;
case "4":
f_statusText = "写入线索出错!";
++CSVHelper.ImportSum;
break;
case "5":
f_statusText = "没有找到该楼盘";
++CSVHelper.ImportSum;
break;
case "1":
f_statusText = "导入成功!";
++CSVHelper.ImportSum;
++CSVHelper.ThreadSum;
break;
case "0":
f_statusText = "其他错误!";
break;
}

ImportDataID = Convert.ToInt32(arr[9].Value);
}
catch (Exception ex)
{
Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
#endregion

#region 往dbo.t_business_thread_import_data表更新状态
//往dbo.t_business_thread_import_data表更新状态------start
try
{
SqlParameter[] ArrData = new SqlParameter[] {
new SqlParameter("@ImportDataID",SqlDbType.Int),
new SqlParameter("@f_status",SqlDbType.Int),
new SqlParameter("@f_statusText",SqlDbType.VarChar,200),
};
ArrData[0].Value = ImportDataID;
ArrData[1].Value = RetrunNum;
ArrData[2].Value = f_statusText;
int sy = ms.ExecProc("sp_admin_business_thread_import_data_update", ArrData);
string ss = ms.ErrMessage;
if (sy == 2)
{
Error.Text = "修改导入表出错!";
Error.ForeColor = Color.Red;
return;
}
if (sy <= 0)
{
Error.Text = ms.ErrMessage; ;
Error.ForeColor = Color.Red;
return;
}
}
catch (Exception ex)
{
Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
//往dbo.t_business_thread_import_data表更新状态------end
#endregion
}
#endregion

#region 往dbo.t_business_thread_import表插入采集成功的纪录
//往dbo.t_business_thread_import表插入采集成功的纪录------start
try
{
SqlParameter[] Iarr = new SqlParameter[] {
new SqlParameter("@ImportID",SqlDbType.Int),
new SqlParameter("@ImportNum",SqlDbType.Int),
new SqlParameter("@ThreadSum",SqlDbType.Int),
};
Iarr[0].Value = ImportId;
Iarr[1].Value = CSVHelper.ImportSum;
Iarr[2].Value = CSVHelper.ThreadSum;//采集成功多少条
int t = ms.ExecProc("sp_admin_business_thread_import_update", Iarr);
if (t == 2)
{
Error.Text = "修改线索表出错!";
Error.ForeColor = Color.Red;
return;
}
if (t <= 0)
{
Error.Text = ms.ErrMessage; ;
Error.ForeColor = Color.Red;
return;
}
}
catch (Exception ex)
{
Error.Text = ex.ToString();
Error.ForeColor = Color.Red;
return;
}
//往dbo.t_business_thread_import表插入采集成功的纪录------end
#endregion
}
#endregion

}
#region CSVHelper
public class CSVHelper
{
private string path;
private string fileName;
public static int ImportSum = 0;//纪录往t_business_thread_import插入成功多少条
public static int ThreadSum = 0;//纪录往t_business_thread插入成功多少条
public static int CountSum = 0;//从csv获取的总条数
public static string Pathurl = string.Empty;
public static string fileUrl = string.Empty;
public static int ImportId = 0;
/// <summary>
/// z构造函数
/// </summary>
public CSVHelper(string filePath, string fileName)
{
this.path = filePath;
this.fileName = fileName;
}

#region 通过文件流的方式来读取CSV文件
/// <summary>
/// 通过文件流的方式来读取CSV文件,默认第一列为标题列,列之间用逗号分隔
/// </summary>
/// <param name="files"></param>
/// <returns></returns>
public DataTable ReadCsvFileToTable()
{
return ReadCsvFileToTable(true, ',');
}
/// <summary>
/// 通过文件流的方式来读取CSV文件,默认列之间用逗号分隔
/// </summary>
/// <param name="files">文件名称</param>
/// <param name="HeadYes">第一行是否为列标题</param>
/// <returns></returns>
public DataTable ReadCsvFileToTable(bool HeadYes)
{
return ReadCsvFileToTable(HeadYes, ',');
}
/// <summary>
/// 通过文件流的方式来读取CSV文件
/// </summary>
/// <param name="files">文件名称</param>
/// <param name="HeadYes">第一行是否为列标题</param>
/// <param name="span">分隔符</param>
/// <returns></returns>
public DataTable ReadCsvFileToTable(bool HeadYes, char span)
{
//文件路径和文件名
string files = path + fileName;
DataTable dt = new DataTable();
StreamReader fileReader = new StreamReader(files, Encoding.Default);
try
{
//是否为第一行(如果HeadYes为TRUE,则第一行为标题行)
int lsi = 0;
//列之间的分隔符
char cv = span;
while (fileReader.EndOfStream == false)
{
string line = fileReader.ReadLine();
string[] y = line.Split(cv);
//第一行为标题行
if (HeadYes == true)
{
//第一行
if (lsi == 0)
{
for (int i = 0; i < y.Length; i++)
{
dt.Columns.Add(y[i].Trim().ToString());
}
lsi++;
}
//从第二列开始为数据列
else
{
DataRow dr = dt.NewRow();
for (int i = 0; i < y.Length; i++)
{
dr[i] = y[i].Trim();
}
dt.Rows.Add(dr);
}
}
//第一行不为标题行
else
{
if (lsi == 0)
{
for (int i = 0; i < y.Length; i++)
{
dt.Columns.Add("Col" + i.ToString());
}
lsi++;
}
DataRow dr = dt.NewRow();
for (int i = 0; i < y.Length; i++)
{
dr[i] = y[i].Trim();
}
dt.Rows.Add(dr);
}
}
}

catch (Exception ex)
{

}

finally
{
fileReader.Close();
fileReader.Dispose();
}
return dt;
}
#endregion

}
#endregion
}


  从csv格式读取数据导入到sql表中

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using dooll.Data;
namespace dooll
{
public partial class export : dooll.Web.UI.MasterPage
{
public string surl = "";
protected void Page_Load(object sender, EventArgs e)
{
this.LabelInfo.ACL = 3;
ChkACL();
string ExportID = Request.QueryString["ExportID"];
try
{
if (ExportID != "")
{
IsExport(ExportID);
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('下载失败!');", true);
return;
}
}
catch (Exception ex)
{

Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('下载失败!错误提示:" + ex.ToString() + "');", true);
return;
}
}

#region 根据编号从数据库获取数据集
public DataSet Export(string f_import_id)
{
MsSql ms = new MsSql();
DataSet ds = new DataSet();
SqlParameter[] sp = new SqlParameter[] { new SqlParameter("@f_import_id", SqlDbType.Int) };
sp[0].Value = f_import_id;
ms.ExecProc("sp_admin_business_thread_import_data_export_select", sp, ref ds, "TableName");
return ds;
}
#endregion

#region 导出
public void IsExport(string import_id)
{
try
{
//设置导出的文件名
Random rd = new Random();
int value = rd.Next(1000, 10000);
string fileUrl = DateTime.Now.ToString("HHmm");
DataSet dds = Export(import_id);
if (dds != null && dds.Tables[0].Rows.Count != 0)
{
OutPutCSV(dds, fileUrl);
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('下载失败!不存在该导入编号!');", true);
return;
}
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('下载失败!错误提示:" + ex.ToString() + "');", true);
return;
}
}
#endregion

public void OutPutCSV(DataSet ds, string fileName)
{
try
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".csv");//txt檔名
Response.ContentType = "application/unknown";
Response.Charset = "";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
//欄位名
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
sb.Append(ds.Tables[0].Columns[i].ColumnName);
sb.Append(",");
}
sb.Append(Environment.NewLine);
//資料
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
sb.Append(ds.Tables[0].Rows[i][j].ToString());
sb.Append(",");
}
sb.Append(Environment.NewLine);
}
Response.Write(sb.ToString());
Response.End();
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('下载失败!错误提示:" + ex.ToString() + "');", true);
return;
}
}
}
}


  存储过程:

USE [800Fc#Com#System]
GO
/****** Object:  StoredProcedure [dbo].[sp_admin_business_thread_import_data_insert]    Script Date: 02/26/2013 13:51:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sp_admin_business_thread_import_data_insert]
@f_client_name nvarchar(50),
@f_client_tel varchar(50),
@f_client_qq varchar(50),
@f_client_email varchar(250),
@f_newhouse nvarchar(50),
@f_ordertime datetime,
@f_remark nvarchar(250),
@f_siteid int,
@f_import_id int,
@output int=0 output
as
declare @houseid int = 0
declare @serviceid int =0
declare @returnNo int=0
declare @thread int=0

select @houseid = id from dbo.t_newhouse where f_name=@f_newhouse and f_siteid=@f_siteid and f_status<>99
if @@ROWCOUNT=0
begin
set @returnNo=5
end

--插入到t_business_thread_import_data表

begin transaction --事务开始

insert into t_business_thread_import_data(f_client_name,f_client_qq,f_client_tel,f_client_email,f_newhouse,f_ordertime,f_remark,f_addtime,f_newhouse_id,f_siteid,f_import_id)
values(@f_client_name,@f_client_qq,@f_client_tel,@f_client_email,@f_newhouse,@f_ordertime,@f_remark,GETDATE(),@houseid,@f_siteid,@f_import_id);
set @serviceid  = @@IDENTITY
set @output=@serviceid

if(@returnNo!=5)
begin
if(@@ERROR>0)
begin
set @returnNo=2--导入失败
end

else
begin

--插入到Insert_t_business_thread表

if exists(select 1 from dbo.t_business_thread where  f_addtime=@f_ordertime and f_client_tel=@f_client_tel and f_newhouse=@f_newhouse and f_siteid=@f_siteid)
begin
set @returnNo=3--线索表存在记录
end

else
begin
insert into dbo.t_business_thread(f_client_name,f_client_qq,f_client_tel,f_client_email,f_newhouse,f_addtime,f_newhouse_id,f_source,f_source_id,f_service_id,f_siteid)
values(@f_client_name,@f_client_qq,@f_client_tel,@f_client_email,@f_newhouse,@f_ordertime,@houseid,'楼盘库',30,@serviceid,@f_siteid);
set @thread=@@IDENTITY
if(@@ERROR>0)
begin
rollback transaction --回滚事务
set @returnNo=4--写入线索出错
end
else
begin
set @returnNo=1--导入成功

--插入到dbo.t_business_log表
insert into dbo.t_business_log(f_siteid,f_type,f_content,f_client_name,f_client_tel,f_client_sex,f_status,f_addtime,f_master_id,f_master_name,f_oldid,f_newid,f_client_telinfo)
values(@f_siteid,18,'楼盘库导入',@f_client_name,@f_client_tel,0,@returnNo,GETDATE(),0,'系统生成',@thread,1,dbo.fn_PhoneNum2Area(@f_client_tel))
end

end
end
end
commit transaction --提交事务
return @returnNo


  

USE [800Fc#Com#System]
GO
/****** Object:  StoredProcedure [dbo].[sp_admin_business_thread_import_data_update]    Script Date: 02/26/2013 13:51:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER proc [dbo].[sp_admin_business_thread_import_data_update]
@ImportDataID int,
@f_status int,
@f_statusText Varchar(200)
as
begin transaction
update  dbo.t_business_thread_import_data set f_status=@f_status, f_statustext=@f_statusText where id=@ImportDataID
if(@@ERROR>0)
begin
rollback transaction
return 2
end
else
begin
commit transaction
return 1
end


  

USE [800Fc#Com#System]
GO
/****** Object:  StoredProcedure [dbo].[sp_admin_business_thread_import_insert]    Script Date: 02/26/2013 13:51:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sp_admin_business_thread_import_insert]
@f_title nvarchar(50),
@f_master_id int,
@f_master_name nvarchar(50),
@f_count int,
@f_okcount int,
@f_siteid int,
@output int =0 output
as
begin transaction --事务开始
insert into dbo.t_business_thread_import(f_siteid,f_title,f_addtime,f_master_id,f_master_name,f_count,f_okcount) values(@f_siteid,@f_title,GETDATE(),@f_master_id,@f_master_name,@f_count,@f_okcount)
set @output= @@IDENTITY
if(@@ERROR>0)
begin
return 2
rollback transaction --回滚事务
end

else

begin
commit transaction --提交事务
return 1
end


  

USE [800Fc#Com#System]
GO
/****** Object:  StoredProcedure [dbo].[sp_admin_business_thread_import_update]    Script Date: 02/26/2013 13:52:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sp_admin_business_thread_import_update]
@ImportID int,
@ImportNum int,
@ThreadSum int
as
begin transaction
update dbo.t_business_thread_import set f_count=@ImportNum ,f_okcount=@ThreadSum where id=@ImportID
if(@@ERROR>0)
begin
return 2
rollback transaction
end
else
begin
commit transaction
return 1
end


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: