`
cheeruplc
  • 浏览: 112396 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
xml 基本操作 xml
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Xml;

namespace MyStudy
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
            if (!IsPostBack) GetXmlData();
        }

        protected void createNode_Click(object sender, EventArgs e)
        {
            XmlDocument mybooks = new XmlDocument();
            string filepath = Server.MapPath("/File/xmlTest.xml");
            mybooks.Load(filepath);
            XmlElement root = mybooks.DocumentElement;
            XmlElement book = mybooks.CreateElement("book");
            XmlElement bookName = mybooks.CreateElement("bookName");
            bookName.InnerText = "programmer";
            XmlElement bookclass =mybooks.CreateElement("bookClass");
            bookclass.InnerText = "IT";

            XmlAttribute sttr = mybooks.CreateAttribute("id");
            sttr.Value = "two";
            book.Attributes.Append(sttr);
            
            book.AppendChild(bookName);
            book.AppendChild(bookclass);
            root.AppendChild(book);
            mybooks.Save(filepath);
            GetXmlData();
        }

        /// <summary>
        /// 读取xml数据并显示
        /// </summary>
        private void GetXmlData()
        {
            XmlDocument mybooks = new XmlDocument();
            string filepath = Server.MapPath("/File/xmlTest.xml");
            mybooks.Load(filepath);
            XmlElement root = mybooks.DocumentElement;
            Response.Write("mybooks.DocumentElement:" + root.Value + "<br/>");
            XmlNodeList children = root.ChildNodes;
            foreach (XmlElement child in children)
            {
                foreach (XmlElement sub in child.ChildNodes)
                {
                    Response.Write(sub.Name + "value" + sub.Value + "===innerText" + sub.InnerText + "<br/>");
                }
            }
        }

        protected void btn_Delete_Click(object sender, EventArgs e)
        {
            XmlDocument mybooks = new XmlDocument();
            string filepath = Server.MapPath("/File/xmlTest.xml");
            mybooks.Load(filepath);
            XmlElement root = mybooks.DocumentElement;
            Response.Write("mybooks.DocumentElement:" + root.Value + "<br/>");
            XmlNodeList children = root.ChildNodes;
            //XmlNodeList specifyChildren = mybooks.SelectSingleNode("rootNodeName").ChildNodes; 相当于获取根节点的所有子节点
            foreach (XmlElement book in children)
            {
                if (book.GetAttribute("id") == "one")
                {
                    //(root.SelectSingleNode("book")).Attributes.GetNamedItem("id") 通过nodeElement获取属性值
                    
                    root.RemoveChild(book);// 或者使用该方法 root.RemoveChild(book.ChildNodes[0].ParentNode);
                }
            }
            mybooks.Save(filepath);
        }

        protected void btnGride_Click(object sender, EventArgs e)
        {
            XmlDocument mybooks = new XmlDocument();
            string filepath = Server.MapPath("/File/xmlTest.xml");
            System.Data.DataSet ds = new DataSet();
            ds.ReadXml(filepath);
            this.GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();
        }

        [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.None)]
        public XmlDocument GetXml()
        { 
            XmlDocument mybooks = new XmlDocument();
            string filepath = Server.MapPath("/File/xmlTest.xml");
            mybooks.Load(filepath);
            return mybooks;
        }
    }
}
MSSQL 自定义方法以及调用 database, db自定义 function
--Sql中自定义方法
alter function StrToDateTime(@DateStr as varchar(18))
returns varchar(24) --注意 returns 不是 return 
as
begin
	declare @date varchar(24);
	set @date=@DateStr;
	set @date=(SUBSTRING(cast (@date as varchar(18)),1,4)+'-'+SUBSTRING(cast (@date as varchar(18)),5,2) +'-'+SUBSTRING(cast (@date as varchar(18)),7,2)
		   +' '+SUBSTRING(cast (@date as varchar(18)),9,2)
		   +':'+SUBSTRING(cast (@date as varchar(18)),11,2)
		   +':'+SUBSTRING(cast (@date as varchar(18)),13,2));
	return @date;
end

declare @returntime varchar(24)
exec @returntime=StrToDateTime '20120401145112827'
print convert(varchar(24),convert(datetime,@returntime),20)

drop function StrToDateTime --删除function 和删除procedure 基本相同 Drop 关键字
sp_help StrToDateTime --sp_help 系统方法 查看strToDateTime方法
--一般Sql语句 
select * from (
select id,interID,cpid,intername,reply,lasttime,CASE lasttime
         WHEN '0' THEN getdate()-3
	     Else cast((SUBSTRING(cast (lasttime as varchar(18)),1,4)
+'-'+SUBSTRING(cast (lasttime as varchar(18)),5,2)
+'-'+SUBSTRING(cast (lasttime as varchar(18)),7,2)
+' '+SUBSTRING(cast (lasttime as varchar(18)),9,2)
+':'+SUBSTRING(cast (lasttime as varchar(18)),11,2)
+':'+SUBSTRING(cast (lasttime as varchar(18)),13,2)
) as varchar(24))
         end  as ldate,setTime  from xsreuserinter 
) as temp
 where (datediff(hh,temp.ldate,getdate())>72 and datediff(hh,temp.setTime,getdate())>72) order by lasttime desc

--调用该内置方法之后的Sql语句  
--Notice: 调用该方法时 一定要加前缀dbo. 否则 报错“该内置方法不识别” 该方法在哪个数据库下执行 只属于哪个数据库 跨数据库无效
select * from (
select id,interID,cpid,intername,reply,lasttime,CASE lasttime
         WHEN '0' THEN getdate()-3
	     Else convert(datetime,dbo.StrToDateTime(lasttime),20) --该处调用function
         end  as ldate,setTime  from xsreuserinter 
) as temp
 where (datediff(hh,temp.ldate,getdate())>72 and datediff(hh,temp.setTime,getdate())>72) order by lasttime desc
ConnectionString MSSql mssql MS数据库连接字符串
	//配置文件中 独立一个节点不包括在<system.web>节点内 读取:ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        <connectionStrings>
		<add name="constr" connectionString="Data Source=.;Initial Catalog=test;Integrated Security=True;User ID=test;Password=123" providerName="System.Data.SqlClient"/>
	</connectionStrings>
//当Integrated Security=True 是 字符串后的User ID 和 Pwd 将不再验证 一般字符串格式为 server=.;database=test;Uid=id;pwd=pwd 本人已经测试 如果将 Intergrated Security设置为SSPI 则后面的UID PWD 任意值都可以打开数据库 也就是说 一旦设置SSPI 则不验证UID 和PWD的值 
数据库访问层一个基本的方法 怕自己记不太清楚 database dbhelper
       string strCon = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SocialSiteConnectionString"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(strCon))
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = "INSERT INTO [WallTable] ([UserId], [FriendId], [WallPost]) VALUES (@UserId, @FriendId, @WallPost)";
                cmd.Parameters.AddWithValue("@UserId", User.Identity.Name);
                cmd.Parameters.AddWithValue("@FriendId", User.Identity.Name);
                cmd.Parameters.AddWithValue("@WallPost", txtWallPost.Text);
                conn.Open();
                cmd.ExecuteNonQuery();
                Session.Add("WallPost", txtWallPost.Text);
                Session.Add("WallDateTime", new DateTime());
                conn.Close();
                txtWallPost.Text = "";
                LoadWallPosts();
            }
        }
excel导入数据库 excel导入数据库
        #region 上传Excel文件
        /// <summary>
        /// 上传Excel文件
        /// </summary>
        /// <param name="inputfile">上传的控件名</param>
        /// <returns></returns>
        private string UpLoadXls(System.Web.UI.WebControls.FileUpload inputfile)
        {
            string orifilename = string.Empty;
            string uploadfilepath = string.Empty;
            string modifyfilename = string.Empty;
            string fileExtend = "";//文件扩展名
            int fileSize = 0;//文件大小
            try
            {
                if (inputfile.FileName != string.Empty)
                {
                    //得到文件的大小
                    fileSize = inputfile.PostedFile.ContentLength;
                    if (fileSize == 0)
                    {
                        throw new Exception("导入的Excel文件大小为0,请检查是否正确!");
                    }

                    //得到扩展名
                    fileExtend = inputfile.FileName.Substring(inputfile.FileName.LastIndexOf(".") + 1);

                    string fileExtends = inputfile.PostedFile.ContentType;

                    //".xls"="application/vnd.ms-excel"
                    //".xls"="application/x-xls"

                    //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 2007

                    if ((fileExtend.ToLower() != "xls") && (fileExtends != "application/vnd.ms-excel"))
                    {
                        throw new Exception("你选择的文件格式不正确,只能导入EXCEL 2003 文件格式!");
                    }

                    //路径
                    uploadfilepath = Server.MapPath("~/UserFiles/Xls_UpLodes");

                    //新文件名 改变原有的文件名
                    // modifyfilename = System.Guid.NewGuid().ToString();
                    // modifyfilename += "." + inputfile.FileName.Substring(inputfile.FileName.LastIndexOf(".") + 1);

                    //保持现有的文件名

                    modifyfilename = inputfile.FileName;

                    //判断是否有该目录
                    System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(uploadfilepath);
                    if (!dir.Exists)
                    {
                        dir.Create();
                    }
                    orifilename = uploadfilepath + "\\" + modifyfilename;
                    //如果存在,删除文件
                    if (File.Exists(orifilename))
                    {
                        File.Delete(orifilename);
                    }
                    // 上传文件
                    inputfile.PostedFile.SaveAs(orifilename);
                }
                else
                {
                    throw new Exception("请选择要导入的Excel文件!");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return orifilename;
        }

        #endregion



        #region 将上传文件中的数据读取到数据库中
        /// <summary>
        /// 将上传文件中的数据读取到数据库中
        /// </summary>
        /// <param name="fileName">上传的文件的地址</param>
        private void ImportXlsToData(string fileName)
        {
            try
            {
                if (fileName == string.Empty)
                {
                    throw new ArgumentNullException("Excel文件上传失败!");
                }

                string oleDBConnString = String.Empty;
                oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
                oleDBConnString += "Data Source=";
                oleDBConnString += fileName;
                oleDBConnString += ";Extended Properties=Excel 8.0;";
                OleDbConnection oleDBConn = null;
                OleDbDataAdapter oleAdMaster = null;
                DataTable m_tableName = new DataTable();
                DataSet ds = new DataSet();

                oleDBConn = new OleDbConnection(oleDBConnString);
                oleDBConn.Open();
                m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                if (m_tableName != null && m_tableName.Rows.Count > 0)
                {

                    m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString();

                }

                string sqlMaster;
                sqlMaster = " SELECT *  FROM [" + m_tableName.TableName + "]";
                oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
                oleAdMaster.Fill(ds, "m_tableName");
                oleAdMaster.Dispose();
                oleDBConn.Close();
                oleDBConn.Dispose();


                AddDatasetToSQL(ds, 5);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion


        //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等 
        public DataTable GetTables(OleDbConnection con)
        {
           // con.Open();
            DataTable schemaTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            //con.Close();
           return schemaTable;
        }

        #region 将上传文件中的数据读取到数据库中
        /// <summary>
        /// 将上传文件中的数据读取到数据库中
        /// </summary>
        /// <param name="fileName">上传的文件的地址</param>
        /// <param name="ExCols">动态扩展列</param>
        private void ImportXlsToData(string fileName, ref Dictionary<string, string> ExCols)
        {
            try
            {
                if (fileName == string.Empty)
                {
                    throw new ArgumentNullException("Excel文件上传失败!");
                }

                string oleDBConnString = String.Empty;
                oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
                oleDBConnString += "Data Source=";
                oleDBConnString += fileName;
                oleDBConnString += ";Extended Properties=Excel 8.0;";
                OleDbConnection oleDBConn = null;
                OleDbDataAdapter oleAdMaster = null;
                DataTable m_tableName = new DataTable();
                DataSet ds = new DataSet();

                oleDBConn = new OleDbConnection(oleDBConnString);
                oleDBConn.Open();


 


                m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                if (m_tableName != null && m_tableName.Rows.Count > 0)
                {

                    if (m_tableName.Rows.Count > 1) 
                    {
                        Net.Common.Common.ShowAndRedirect(this, "文件导入失败!这个excel 文件包含多个选项,看看是否有影藏项木有啊 ", "XlsToSQL.aspx");
                    }
                    else
                    {
                        m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString();
                    }

                }

                string Exdata = string.Empty;


                string UserName = Net.Common.Character.GetHeadCharacter(m_tableName.TableName);
                string UserPwd = "e10adc3949ba59abbe56e057f20f883e";

                if (ExCols.ContainsKey("UserName")) ExCols.Remove("UserName");
                if (ExCols.ContainsKey("UserPwd")) ExCols.Remove("UserPwd");
                ExCols.Add("UserName", UserName);
                ExCols.Add("UserPwd", UserPwd);

                foreach (KeyValuePair<string, string> KeyVal in ExCols)
                {
                    Exdata += " '" + KeyVal.Value + "' as " + KeyVal.Key + " ,";
                }



                string sqlMaster;
                sqlMaster = " SELECT " + Exdata + " *  FROM [" + m_tableName.TableName + "]";
                oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
                //  oleAdMaster.Fill(ds, "m_tableName");
                oleAdMaster.Fill(ds, m_tableName.TableName);
                oleAdMaster.Dispose();
                oleDBConn.Close();
                oleDBConn.Dispose();

                AddDatasetToSQL(ds, 0);

                //AddDatasetToSQLS(ds, 5,4);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion



        #region 将上传文件中的数据读取到数据库中 多shell
        /// <summary>
        /// 将上传文件中的数据读取到数据库中
        /// </summary>
        /// <param name="fileName">上传的文件的地址</param>
        /// <param name="ExCols">动态扩展列</param>
        private void ImportXlsToData(ref Dictionary<string, string> ExCols, string fileName)
        {
            try
            {
                if (fileName == string.Empty)
                {
                    throw new ArgumentNullException("Excel文件上传失败!");
                }

                string oleDBConnString = String.Empty;
                oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
                oleDBConnString += "Data Source=";
                oleDBConnString += fileName;
                oleDBConnString += ";Extended Properties=Excel 8.0;";
                OleDbConnection oleDBConn = null;
                OleDbDataAdapter oleAdMaster = null;
                DataTable m_tableName = new DataTable();
                DataSet ds = new DataSet();

                oleDBConn = new OleDbConnection(oleDBConnString);
                oleDBConn.Open();
                m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                if (m_tableName != null && m_tableName.Rows.Count > 0)
                {

                    for (int ii = 0; ii < m_tableName.Rows.Count; ii++)
                    {
                        m_tableName.TableName = m_tableName.Rows[ii]["TABLE_NAME"].ToString();


                        string UserName = Net.Common.Character.GetHeadCharacter(m_tableName.TableName);
                        string UserPwd = "e10adc3949ba59abbe56e057f20f883e";

                        if (ExCols.ContainsKey("UserName")) ExCols.Remove("UserName");
                        if (ExCols.ContainsKey("UserPwd")) ExCols.Remove("UserPwd");
                        ExCols.Add("UserName", UserName);
                        ExCols.Add("UserPwd", UserPwd);


                        string Exdata = string.Empty;


                        foreach (KeyValuePair<string, string> KeyVal in ExCols)
                        {
                            Exdata += " '" + KeyVal.Value + "' as " + KeyVal.Key + " ,";
                        }


                        string sqlMaster;
                        sqlMaster = " SELECT " + Exdata + " *  FROM [" + m_tableName.TableName + "]";
                        oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
                        oleAdMaster.Fill(ds, m_tableName.TableName);


                        AddDatasetToSQL(ds.Tables[ii], 0);
                    }


                }

                oleAdMaster.Dispose();
                oleDBConn.Close();
                oleDBConn.Dispose();

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion



        #region

        /// <summary>
        /// 将Dataset的数据导入数据库
        /// </summary>
        /// <param name="pds">数据集</param>
        /// <param name="Cols">数据集列数</param>
        /// <returns></returns>
        private bool AddDatasetToSQL(DataSet pds, int Cols)
        {
            int ic, ir;
            ic = pds.Tables[0].Columns.Count;
            if (pds.Tables[0].Columns.Count < Cols)
            {
                throw new Exception("导入Excel格式错误!Excel只有" + ic.ToString() + "列");
            }
            ir = pds.Tables[0].Rows.Count;
            if (pds != null && pds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < pds.Tables[0].Rows.Count; i++)
                {
                    YouYes.Model.Organization Org = new YouYes.Model.Organization();

                    Org.ProvinceId = Convert.ToInt32(pds.Tables[0].Rows[i][0]);
                    Org.CityId = Convert.ToInt32(pds.Tables[0].Rows[i][1]);
                    Org.TownId = Convert.ToInt32(pds.Tables[0].Rows[i][2]);
                    Org.UserName = pds.Tables[0].Rows[i][3].ToString() + i.ToString();
                    Org.UserPwd = pds.Tables[0].Rows[i][4].ToString();

                    Org.OrgName = pds.Tables[0].Rows[i][5].ToString();
                    Org.IsOnline = 0;
                    Org.IsPrivilege = 0;
                    Org.IsOrder = 0;
                    Org.Logo = "/images/public/healthinstitute/ins1.jpg";

                    int Result = new OrganizationBLL().Add(Org);
                }

            }
            else
            {
                throw new Exception("导入数据为空!");
            }
            return true;
        }

        #endregion



        #region 将上传文件中的数据读取到数据库中 
        /// <summary>
        /// 将上传文件中的数据读取到数据库中
        /// </summary>
        /// <param name="fileName">上传的文件的地址</param>
        /// <param name="ExCols">动态扩展列</param>
        private void ImportXlsToData(string fileName, Dictionary<string, string> ExCols, bool IsAddDatasetToSQLDep)
        {
            try
            {
                if (fileName == string.Empty)
                {
                    throw new ArgumentNullException("Excel文件上传失败!");
                }

                string oleDBConnString = String.Empty;
                oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
                oleDBConnString += "Data Source=";
                oleDBConnString += fileName;
                oleDBConnString += ";Extended Properties=Excel 8.0;";
                OleDbConnection oleDBConn = null;
                OleDbDataAdapter oleAdMaster = null;
                DataTable m_tableName = new DataTable();
                DataSet ds = new DataSet();

                oleDBConn = new OleDbConnection(oleDBConnString);
                oleDBConn.Open();
                m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                if (m_tableName != null && m_tableName.Rows.Count > 0)
                {
                    m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString();
                }

                string Exdata = string.Empty;


                foreach (KeyValuePair<string, string> KeyVal in ExCols)
                {
                    Exdata += " '" + KeyVal.Value + "' as " + KeyVal.Key + " ,";
                }


                string sqlMaster;
                sqlMaster = " SELECT " + Exdata + " *  FROM [" + m_tableName.TableName + "]";
                oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
                //  oleAdMaster.Fill(ds, "m_tableName");
                oleAdMaster.Fill(ds, m_tableName.TableName);
                oleAdMaster.Dispose();
                oleDBConn.Close();
                oleDBConn.Dispose();

                //将从Excel文件数据映射读入的Dataset的数据导入数据库
                AddDatasetToSQL(ds.Tables[0], 0, IsAddDatasetToSQLDep);


            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


        #region 将从Excel文件数据映射读入的Dataset的数据导入数据库


        /// <summary>
        /// 将Dataset的数据导入数据库
        /// </summary>
        /// <param name="pds">数据集</param>
        /// <param name="Cols">数据集列数</param>
        /// <returns></returns>
        private bool AddDatasetToSQL(DataTable Dt, int Cols, bool IsAddDatasetToSQLDep)
        {
            int ic, ir;
            ic = Dt.Columns.Count;
            if (Dt.Columns.Count < Cols)
            {
                throw new Exception("导入Excel格式错误!Excel只有" + ic.ToString() + "列");
            }
            ir = Dt.Rows.Count;
            if (Dt != null && Dt.Rows.Count > 0)
            {
                string StrMsg = string.Empty;
                string strSQL = string.Empty;

                for (int i = 0; i < Dt.Rows.Count; i++)
                {
                    if (IsAddDatasetToSQLDep)
                    {

                        YouYes.Model.Department Department = new YouYes.Model.Department();

                        Department.ParentID = Convert.ToInt32(Dt.Rows[i][0]);
                        Department.orderID = Convert.ToInt32(Dt.Rows[i][1]);
                        Department.DepName = Dt.Rows[i][2].ToString();


                        new YouYes.BLL.DepartmentBLL().Add(Department);

                        StrMsg = "NS_Department 文件导入成功!";

                        strSQL = "Delete From [NS_Department]  where DepName=''";

                    }
                    else
                    {


                        YouYes.Model.Dict_Forte DictForte = new Dict_Forte();

                        DictForte.Depid = Convert.ToInt32(Dt.Rows[i]["DepID"]);
                        DictForte.IsRecomm = Convert.ToInt32(Dt.Rows[i][1]);
                        DictForte.Forte = Dt.Rows[i][2].ToString();
                        DictForte.Falgs = 1;
                        DictForte.IsLock = false;

                        new Dict_ForteBLL().Add(DictForte);

                        StrMsg = "NS_Dict_Forte 文件导入成功!";

                        strSQL = "Delete From [NS_Dict_Forte]  where Forte=''";

                    }


                }


                YouYes.DBUtility.DbHelperSQL.ExecuteNonQuery(strSQL);

                Net.Common.Common.ShowAndRedirect(this, StrMsg, "XlsToSQL.aspx");

            }
            else
            {
                throw new Exception("导入数据为空!");
            }
            return true;
        }

        #endregion



        #endregion
sql 中遍历用逗号相隔的字符串 sql 截取字符串
while(charindex(',',@ForteIdList)>0)
begin
	set @ForteId = substring(@ForteIdList,0,charindex(',',@ForteIdList))
	set @ForteIdList = substring(@ForteIdList,charindex(',',@ForteIdList)+1,len(@ForteIdList))
	print @ForteId
	insert into NS_UserForte(UserId,ForteId) values(@UserId,@ForteId)
	set @errorSum = @errorSum + @@error
end
在repeater中查找控件并为其赋值 asp.net 控件使用 优悦优品 D:\Work\YouAsk\YouAsk\Web\UserAdmin\MyTeam.aspx
//本实例是 当reaper中image控件的路径为“” 为其指定特定图片
//前端 
<asp:Repeater ID="repMyCreateTeam" runat="server" 
                        onitemdatabound="repMyCreateTeam_ItemDataBound" >
                    <HeaderTemplate><div class="myteam_pic"></HeaderTemplate>
                    <ItemTemplate>
                         <ul >
                           <li><a href="#">
                            <asp:Image ID="img_Portrait" runat="server" ImageUrl='<%#Eval("Portrait") %>'  width="52" height="51" border="0" AlternateText='<%#Eval("GroupName") %>'/>
                            </a>
                           </li>
                           <li><a href="#"><%#Strings.CutString(Eval("GroupName").ToString(),8) %></a></li>
                           <%--<li class="btn">查看聊天记录</li>--%>
                          </ul>
                    </ItemTemplate>
                    <FooterTemplate>
                        <div class="clear"></div>
                    </div>
                    </FooterTemplate>
                </asp:Repeater>            
      
//服务器代码
  protected void repMyCreateTeam_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                Image img_Portrait = e.Item.FindControl("img_Portrait") as Image;

                if (string.IsNullOrEmpty(img_Portrait.ImageUrl))
                {
                    img_Portrait.ImageUrl = System.Configuration.ConfigurationManager.AppSettings["MyTeamPortraitPath"];
                }
            }
        }
js 分页 内存中分页 jfautomation.com 产品列表的分页形式 不错的
var vRecordCount = 0;
var vPageSize = 20;
var vPageCount = 0;
var vCatId = "";
var vPageNo = 0;

$(function() {
    Init_List();
});

function Init_List() {
    var vCateId = $("#ddlCate").val();
    if (vCateId == "0") vCateId = Admin_ShowList.Get_CateId().value;
    var vTitle = $("#tbxTitle").val();
    var vObj = Admin_ShowList.Init_List(vCateId, vTitle, vPageNo, vPageSize).value;
    if (vObj != null) {
        vRecordCount = vObj[0];
        var vDtbl = vObj[1];
        var vArrHtlm = new Array();
        if (vDtbl.Rows.length > 0) {
            for (var i = 0; i < vDtbl.Rows.length; i++) {
                var vNewsId = vDtbl.Rows[i]["Show_Id"];
                var vUrlClosed = "<a href='javascript:Closed_Stored(" + vNewsId + ",\"1\")'>停用</a>";
                var vClosed = vDtbl.Rows[i]["Show_Closed"];
                if (vClosed == "√") vUrlClosed = "<a href='javascript:Closed_Stored(" + vNewsId + ",\"0\")'>启用</a>";
                vArrHtlm.push("<div class='divList'>");
                vArrHtlm.push("<div style='float:left; width:10%;'>");
                vArrHtlm.push(vDtbl.Rows[i]["Cate_Name"]);
                vArrHtlm.push("</div>");
                vArrHtlm.push("<div style='float:left; width:50%;'>");
                vArrHtlm.push(vDtbl.Rows[i]["Show_Title"]);
                vArrHtlm.push("</div>");
                vArrHtlm.push("<div style='float:left; width:10%;'>");
                vArrHtlm.push(vDtbl.Rows[i]["Show_AddTime"]);
                vArrHtlm.push("</div>");
                vArrHtlm.push("<div style='float:left; width:20%;'>");
                vArrHtlm.push("<a href='ShowAddEdit.aspx?Show_Id=" + vNewsId + "' target='_blank'>编辑</a> | " + vUrlClosed);
                vArrHtlm.push(" | <a href='javascript:News_Delete(" + vNewsId + ")'>删除</a>");
                vArrHtlm.push("</div>");
                vArrHtlm.push("<div style='float:left; width:10%;'>");
                vArrHtlm.push(vClosed);
                vArrHtlm.push("</div>");
                vArrHtlm.push("</div>");
            }
        }
        else {
            vArrHtlm.push("没有相关的内容。");
        }
        $("#divList").html(vArrHtlm.join(""));

        $("#spanPageNo").html(vPageNo + 1);
        vPageCount = parseInt(vRecordCount / vPageSize);
        if (vRecordCount % vPageSize > 0)
            vPageCount++;
        $("#spanPageCount").html(vPageCount);
        $("#spanListCount").html(vRecordCount);
    }
}

function Page_Change(vType) {
    if (vType == 0) {
        vPageNo = 0;
        Init_List();
    }
    else if (vType == 1) {
        if (vPageNo - 1 < 0) {
            alert("已经是第一页。");
            return;
        }
        else {
            vPageNo--;
            Init_List();
        }
    }
    else if (vType == 2) {
        if (vPageCount == vPageNo + 1) {
            alert("已经是最后一页。");
            return;
        }
        else {
            vPageNo++;
            Init_List();
        }
    }
    else {
        vPageNo = vPageCount - 1;
        Init_List();
    }
}

function btnJump_Click() {
    var vJPage = $("#tbxJumpPage").val();
    if (vJPage == "") {
        alert("请输入页码。");
        return;
    }
    if (parseInt(vJPage) != vJPage || vJPage <= 0 || vJPage > vPageCount) {
        alert("请输入正确的页码。");
        $("#tbxJumpPage").val("");
        return;
    }
    else {
        vPageNo = vJPage - 1;
        Init_List();
    }
}

function Research_Click() {
    vPageNo = 0;
    Init_List();
}

function Closed_Stored(vNewsId, vType) {
    Admin_ShopList.Closed_Stored(vNewsId, vType);
    Init_List();
}

function Add_News() {
    window.open("ShowAddEdit.aspx");
}

function News_Delete(vNewsId) {
    if (!confirm("确定要删除吗?")) { return; }
    Admin_ShopList.News_Delete(vNewsId);
    Init_List();
    alert("删除成功。");
}




/*后台代码C#*/
    [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    public object[] Init_List(string strCatId, string strTitle, int intPageNo, int intPageSize)
    {
        System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SdFoodConnectionString"].ToString()).CreateCommand();
        command.Connection.Open();

        string select = @" SELECT SdFood_Show.Show_Id,SdFood_Show.Show_Title,
CONVERT(varchar(100),SdFood_Show.Show_AddTime, 23) as Show_AddTime,
case SdFood_Show.Show_Closed when '0' then ' ' else '√' end as Show_Closed,
SdFood_Cate.Cate_Name";
        string from = @" FROM SdFood_Show left join SdFood_Cate on SdFood_Show.Cate_id=SdFood_Cate.Cate_id";
        string where = @" WHERE SdFood_Show.Cate_id in (" + strCatId + ") and SdFood_Show.Show_Title like '%" + strTitle + "%'";
        string order = @" ORDER BY SdFood_Show.Show_AddTime DESC,SdFood_Show.Show_Id desc";

        command.CommandText = "select count(*) " + from + where;
        int recordCount = (int)command.ExecuteScalar();

        command.CommandText = select + from + where + order;
        System.Data.DataSet dataSet = new System.Data.DataSet();
        new System.Data.SqlClient.SqlDataAdapter(command).Fill(dataSet, intPageNo * intPageSize, intPageSize, "SdFood_Show");
        command.Connection.Close();

        return new object[] { recordCount, dataSet.Tables[0] };
    }
我的第一个触发器 insert 悲催 做了这么久 第一次写触发器
--当创建一个小组在成员表中添加一条该组管理员数据

drop trigger addmember
create trigger Addmember 
on nt_group
for insert
as
begin
	declare @insertGroupid int,@posttime datetime,@userid int
	select @insertGroupid=id,@userid=userid,@posttime=posttime from inserted 
	insert into nt_groupmember(groupid,userid,grade,jointime) values(@insertGroupid,@userid,2,@posttime)
end
添加移除样式 javascript 添加、移除、检测 classname css http://www.codebit.cn/javascript/add-remove-class.html
<script type="text/javascript"> 
// 说明:添加、移除、检测 className 
function hasClass(element, className) { 
var reg = new RegExp('(\\s|^)'+className+'(\\s|$)'); 
return element.className.match(reg); 
} 
function addClass(element, className) { 
if (!this.hasClass(element, className)) 
{ 
element.className += " "+className; 
} 
} 
function removeClass(element, className) { 
if (hasClass(element, className)) { 
var reg = new RegExp('(\\s|^)'+className+'(\\s|$)'); 
element.className = element.className.replace(reg,' '); 
} 
} 
</script> 
用Winform做产品图片列表 像网页产品列表一样的效果 c# winform 自己写的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Web.Script.Serialization;
using System.IO;

namespace GroupOn
{
    public partial class Form1 : Form
    {
        int currentPage = 0;
        int pageSize = 9;
        int allPage = 0;
        Dictionary<string, PictureBox> dicPic = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string picUrl = "http://www.yituanheqi.cn/public/upload_files/groupon/";

            dicPic = new Dictionary<string, PictureBox>();
            foreach (Control item in Controls)
            {
                if (item is PictureBox)
                {
                    PictureBox p = (PictureBox)item;
                    p.WaitOnLoad = true;
                    dicPic.Add(p.Name,p);
                }
            }
            DataTable dt = ReadDataFromWeb();
            allPage = dt.Rows.Count / pageSize;
            if (dt.Rows.Count % pageSize != 0)
                allPage = allPage + 1;
            if (dt.Rows.Count - currentPage * pageSize < pageSize)
            {
                int i = 1;
                for (int l = currentPage * pageSize; l < dt.Rows.Count; l++, i++)
                {
                    dicPic["pictureBox" + i].LoadAsync(picUrl + dt.Rows[l]["image"].ToString());
                    dicPic["pictureBox" + i].Name = dt.Rows[l]["pid"].ToString();
                    dicPic["pictureBox" + i].Click += new EventHandler(PicClick);
                }

            }
            else
            {
                int i = 1;
                for (int l = currentPage * pageSize; l < (1 + currentPage) * pageSize; i++, l++)
                {
                    dicPic["pictureBox" + i].LoadAsync(picUrl + dt.Rows[l]["image"].ToString());
                    dicPic["pictureBox" + i].Name = dt.Rows[l]["pid"].ToString();
                    dicPic["pictureBox" + i].Click += new EventHandler(PicClick);
                }
            }
            this.current.Text = "第" + (currentPage + 1) + "页"; this.all.Text = "共" + allPage + "页";
        }
        //为PictureBox绑定点击事件
        void PicClick(object sender, EventArgs e)
        {
            string detailUrl = "http://www.yituanheqi.cn/index/productdetailed/";
            PictureBox tempP=(PictureBox)sender;
            string id=tempP.Name;
            try
            {
                System.Diagnostics.Process.Start(detailUrl +"p"+id+".html");
            }catch(Exception){};
           // tempP.Click -= PicClick;
        }

        public DataTable ReadDataFromWeb()
        {
            string url = "http://3g.zssd.mobi/jsontest/groupon_plist.php";
            string html = "";
            WebRequest webrequest = WebRequest.Create(url);
            WebResponse response = webrequest.GetResponse();
            System.IO.Stream htmlstream = response.GetResponseStream();
            Encoding encode = Encoding.GetEncoding("gb2312");
            StreamReader sr = new StreamReader(htmlstream, encode);
            char[] buffer = new char[256];
            int n = sr.Read(buffer, 0, 256);
            while (n > 0)
            {
                string str = new string(buffer, 0, n);//将字符数组转为字符串
                html += str;
                n = sr.Read(buffer, 0, n);
            }
            //由于获取的内容中有一对“()” 顾下面代码处理去掉“()”使之成为标准的Json String
            html = html.Substring(1, html.Length - 1);
            html = html.Substring(0, html.Length - 1);
            System.Web.Script.Serialization.JavaScriptSerializer deSerializer = new JavaScriptSerializer();
            var obj = deSerializer.DeserializeObject(html);
            Dictionary<string, object> t = (System.Collections.Generic.Dictionary<string, object>)obj;
            Array rows = (Array)t["results"];
            DataTable dt = new DataTable();
            foreach (Dictionary<string, object> cols in rows)
            {
                DataRow dr = dt.NewRow();
                if (dt.Columns.Count == 0)
                {
                    foreach (string key in cols.Keys)
                    {
                        dt.Columns.Add(key);
                    }
                }
                foreach (string key in cols.Keys)
                {
                    dr[key] = cols[key];
                }
                dt.Rows.Add(dr);
            }
            return dt;
            //            DataRow[] rowss = dt.Select("pid='11873'");
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (currentPage <= 0) { MessageBox.Show("已经是首页了,不能上翻了哦!"); return; }
            else
            {
                currentPage--;
                Page();
            }
        }
        //当点击分页绑定PicBox图片及点击事件
        public void Page()
        {
            string picUrl = "http://www.yituanheqi.cn/public/upload_files/groupon/";

            DataTable dt = ReadDataFromWeb();
            allPage = dt.Rows.Count / pageSize;
            if (dt.Rows.Count % pageSize != 0)
                allPage = allPage + 1;
            if (dt.Rows.Count - currentPage * pageSize < pageSize)
            {
                int l = currentPage * pageSize;
                for (int pic = 1; pic <= dicPic.Count; pic++,l++)
                {
                    try
                    {
                        dicPic["pictureBox" + pic].LoadAsync(picUrl + dt.Rows[l]["image"].ToString());
                        dicPic["pictureBox" + pic].Name = dt.Rows[l]["pid"].ToString();
                    }
                    catch (Exception)
                    {
                        dicPic["pictureBox" + pic].Visible = false;
                    }
                }
            }
            else
            {
                int i = 1;
                for (int l = currentPage * pageSize; l < (1 + currentPage) * pageSize; i++, l++)
                {
                    dicPic["pictureBox" + i].LoadAsync(picUrl + dt.Rows[l]["image"].ToString());
                    dicPic["pictureBox" + i].Name = dt.Rows[l]["pid"].ToString();
                    dicPic["pictureBox" + i].Visible = true;
                }
            }
            this.current.Text = "第" + (currentPage + 1) + "页";
        }

        private void next_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (currentPage > allPage || currentPage+1 == allPage) { MessageBox.Show("已经是最后一页了哦!"); return; };
            currentPage++;
            Page();
        }
    }
}
Winform 访问网站读取网页内容 读取网站内容 并从json格式转为表格以便服务器端遍历
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using MySql.Data.MySqlClient;
using MySql.Data;
using System.Web.Script.Serialization;
using System.Net;
using System.IO;

namespace MySqlconnection
{
    public partial class Form1 : Form
    {   
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //System.Web.Script.Serialization.JavaScriptSerializer jss = new JavaScriptSerializer();
            //this.dataGridView1.DataSource= connect();
            ReadDataFromWeb();

        }
          public DataTable connect()
        {
            MySqlConnection mysqlconn = new MySqlConnection();
            mysqlconn.ConnectionString = "SERVER=127.0.0.1;" +
                "DATABASE=mysql;" +
                "UID=root;" +
                "PASSWORD=;"+"PORT=3306;";
            mysqlconn.Open();
            string sqlstr = "select * from user";
            MySqlCommand cmd = new MySqlCommand(sqlstr,mysqlconn);
            MySqlDataAdapter mda = new MySqlDataAdapter(cmd);
              DataTable dt=new DataTable();
              mda.Fill(dt);
              return dt;
        }

          public void ReadDataFromWeb()
          {
              string url = "http://www.test.com/jsontest/t_plist.php";
              string html = "";
              WebRequest webrequest = WebRequest.Create(url);
              WebResponse response = webrequest.GetResponse();
              System.IO.Stream htmlstream = response.GetResponseStream();
              Encoding encode = Encoding.GetEncoding("gb2312");
              StreamReader sr = new StreamReader(htmlstream,encode);
              char[] buffer = new char[256];
              int n = sr.Read(buffer, 0, 256);
              while (n > 0)
              {
                  string str = new string(buffer, 0, n);//将字符数组转为字符串
                  html += str;                  
                  n=sr.Read(buffer, 0, n);
              }
              //由于获取的内容中有一对“()” 顾下面代码处理去掉“()”使之成为标准的Json String
              html= html.Substring(1, html.Length - 1);
              html= html.Substring(0, html.Length - 1);
              System.Web.Script.Serialization.JavaScriptSerializer deSerializer = new JavaScriptSerializer();
              var obj= deSerializer.DeserializeObject(html);
              Dictionary<string, object> t = (System.Collections.Generic.Dictionary<string, object>)obj;
              Array rows = (Array)t["results"];
              DataTable dt = new DataTable();
              foreach (Dictionary<string,object> cols in rows)
              {
                  DataRow dr = dt.NewRow();
                  if (dt.Columns.Count == 0)
                  {
                      foreach (string key in cols.Keys)
                      {
                          dt.Columns.Add(key);
                      }
                  }
                  foreach (string key in cols.Keys)
                  {
                      dr[key] = cols[key];
                  }
                  dt.Rows.Add(dr);
              }
              this.dataGridView1.DataSource = dt;
              DataRow[] rowss= dt.Select("pid='11873'");
          }
    }
}
异步加载图片 picturebox PictureBox加载图片
private void button2_Click(object sender, EventArgs e) 
        { 
             openFileDialog1.Filter = "*jpg|*JPG|*GIF|*.BMP"; 
             if (openFileDialog1.ShowDialog() == DialogResult.OK) 
             { 
                 string fullpath = openFileDialog1.FileName; 

                 //图片异步加载完成后的处理事件 
                 pictureBox1.LoadCompleted += new AsyncCompletedEventHandler(pictureBox1_LoadCompleted); 
                 //图片加载时,显示等待光标 
                 pictureBox1.UseWaitCursor = true; 

                 //采用异步加载方式 
                 pictureBox1.WaitOnLoad = false; 
                 Bitmap bm = new Bitmap(fullpath); 
                 Point pt = new Point(bm.Size ); 
                 if (pt.X > pictureBox1.Size.Width || pt.Y > pictureBox1.Size.Height) 
                 { 
                     pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; 
                 } 
                 else 
                 { 
                     pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage; 
                 } 

                 //开始异步加载,图片的地址,请自行更换 
                 //pictureBox1.LoadAsync("http://www.zu14.cn/wp-content/uploads/2009/02/image14.png"); 
                pictureBox1.LoadAsync(fullpath ); 
             } 
        } 
        void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e) 
        { 
            //图片加载完成后,将光标恢复 
            pictureBox1.UseWaitCursor = false; 
        }
Global site tag (gtag.js) - Google Analytics