2010年5月6日星期四

文本链接标签打开URL

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
            try { System.Diagnostics.Process.Start("http://antigw.blogspot.com"); }
            catch (Exception exp)
            {
                MessageBox.Show(String.Format("程序运行期间发生错误,错误信息:{0}", exp.Message));
            }
}

禁止C# TabControl中的某些标签页

 

private void ProgTab_Selecting(object sender, TabControlCancelEventArgs e)
{
                if (e.TabPageIndex == 1 || e.TabPageIndex == 2) e.Cancel = true;
}

 

第二种方法:

private void DisablePages()
{
    ProgTab.TabPages.Remove(tabPage2);
    ProgTab.TabPages.Remove(tabPage3);
    ProgTab.TabPages.Remove(tabPage4);
}

private void EnablePages()
{
    ProgTab.TabPages.Add(tabPage2);
    ProgTab.TabPages.Add(tabPage3);
    ProgTab.TabPages.Add(tabPage4);
}

将数据表的内容放到DataGridView中

 

DataTable dt = new DataTable();
string sql = String.Format("select [msgid],[teacher],[msgdate] from inbox where [msgdate] like '{0}%' and [userid]='{1}'",  date,   username);
OleDbDataAdapter da = new OleDbDataAdapter(sql, cn);
da.Fill(dt);
dgvInbox.DataSource = dt;

c#获取数据库元数据

DataTable schemaTable = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
foreach (DataRow dr in schemaTable.Rows)
{
      String tableName = dr["TABLE_NAME"].ToString();
      MessageBox.Show(tableName);
}

使用WebClient提交中文数据

 

            try
            {
                String url = "http://school.jxllt.com/family/famsmssend_action_new.asp";
                String data = "sel_recelist=" + teacher + "&txta_memo=" + msg;
                byte[] postData = Encoding.GetEncoding("GB2312").GetBytes(data);
                wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                byte[] res = wc.UploadData(url, "POST", postData);
            }
            catch (Exception exp)
            {
                MessageBox.Show(String.Format("程序运行期间发生错误,错误信息:{0}", exp.Message));
            }

2010年5月2日星期日

C#中的SqlBulkCopy将批量数据写入数据库

注意:ACCESS数据库不支持此操作

DataSet ds = new DataSet();
ds.ReadXml(new StringReader(sbuf.ToString())); //从字符串装载XML

DataTable mytable = ds.Tables[0];

//MessageBox.Show(mytable.Rows[1]["msgid"].ToString()); //将XML装载到DataSet后,可通过行和列来进行访问

SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connStr, SqlBulkCopyOptions.UseInternalTransaction);
sqlbulkcopy.DestinationTableName = "inbox";
sqlbulkcopy.WriteToServer(ds.Tables[0]);

C#将XML中的数据存储到ACCESS数据库

using (OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=msg.mdb"))
            {
                cn.Open();
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    cmd.Connection = cn;
                    cmd.CommandType = CommandType.Text;

                    XmlDocument xml = new XmlDocument(); //装载XML数据
                    xml.InnerXml = sbuf.ToString();

                    XmlNodeList xn = xml.GetElementsByTagName("message");

                    foreach (XmlElement xe in xn)
                    {
                        cmd.CommandText = string.Format(
                            "INSERT INTO inbox([msgid],[teacher],[content],[msgdate],[userid]) VALUES ('{0}', '{1}', '{2}', '{3}','{4}')",
                            xe.ChildNodes[0].InnerText.Trim(),
                            xe.ChildNodes[1].InnerText.Trim(),
                            xe.ChildNodes[2].InnerText.Trim(),
                            xe.ChildNodes[3].InnerText.Trim(),
                            username
                        );

                        cmd.ExecuteNonQuery();
                    }
                }
                cn.Close();
            }