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

用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

  

 

 

posted @ 2013-02-26 13:58  张涵哲琪  阅读(2026)  评论(0)    收藏  举报