2009年12月16日 星期三

[C#] 產生亂數

產生數字與英文大小寫所產生的字串

//Generate random strings
private string generateRandomString(int length)
{
string ranStr = "";
Random ran = new Random();
for (int i = 0; i < length; ++i)
{
switch (ran.Next(0, 3))
{
case 0:
ranStr += (char)ran.Next(65, 91); //A~Z
break;
case 1:
ranStr += (char)ran.Next(97, 122); //a~z
break;
case 2:
ranStr +=ran.Next(0,10); //0~9
break;
}
}
return ranStr;
}

2009年12月15日 星期二

[C#][XML] 在根層次的資料無效

在根層次的資料無效


XmlDocument.Load("讀取xml 檔案(未定義dtd)");
XmlDocument.LoadXmL("讀取已定義之XML");

2009年12月1日 星期二

[C#][SQL] Sql Parameter

myConn.ConnectionString = "data source=localhost;Initial Catalog=DB;User ID=user;Password=1234";
myConn.Open();

string strEq = "AAA";
string strSQL = "";
try
{
strSQL = " Update table SET ";
strSQL += " Name = @Name, ";
strSQL += " Address = @Address ";
strSQL += " WHERE ID = '" + strEq + "' ";

SqlCommand myCmd = new SqlCommand(strSQL, myConn);
myCmd.Parameters.Clear();
SqlParameter p1 = myCmd.Parameters.AddWithValue("Name", DbType.String);
p1.Value = "David";
SqlParameter p2 = myCmd.Parameters.AddWithValue("Address", DbType.String);
p2.Value = "Taipei";
myCmd.ExecuteNonQuery();
myConn.Close();

}
catch (Exception ex)
{
//exception output
}

[C#][SQL] 是否有查詢到資料

測試SQL query 是否有查詢到資料

private bool hasValue(string eqID)
{
myConn.ConnectionString = "data source=localhost;Initial Catalog=DB;User ID=USER;Password=1234";
myConn.Open();
string preStrSQL = "SELECT * FROM table WHERE ID ='AAA'";
SqlCommand mytestcmd = new SqlCommand(preStrSQL, myConn);
SqlDataReader myReader = mytestcmd.ExecuteReader();

if (myReader.HasRows)
{
myConn.Close();
return true;
}
else
{
myConn.Close();
return false;
}
}

[C#] 經緯度的轉換

private string coordinateTrans(string coordinate)
{
double pX = Convert.ToDouble(coordinate);//121.5422222;
double degX = Math.Floor(pX);//121
double arcMinX = Math.Floor((pX - degX) * 60);//32
double arcSecX = Math.Round((((pX - degX) * 60) - arcMinX) * 60);//32
string retStr = "";
retStr = degX.ToString() + "°" + arcMinX.ToString("00") + "'" + arcSecX.ToString("00") + "\"";
return retStr;
}

2009年11月27日 星期五

[SQL][C#]SQL Database 連線

連接Sql Database 2005


myConn.ConnectionString = "data source=.\\sqlexpress;Initial Catalog=ITS;User ID=sa;Password=aviso123";


在C#中 \ 須以 \\取代
.\ 視為 127.0.0.1\ (本機)

2009年11月16日 星期一

[C#] 利用Web service POST 字串


string transString = "123456789";//欲傳送字串

byte[] tranData = Encoding.UTF8.GetBytes(transString);
HttpWebRequest transReq = (HttpWebRequest)HttpWebRequest.Create("http://目的地");

transReq.ContentType = "application/x-www-form-urlencoded";
transReq.Method = "POST";
transReq.ContentLength = tranData.Length;

Stream transStream = transReq.GetRequestStream();
transStream.Write(tranData, 0, tranData.Length);
transStream.Close();

[C#] 建立XML格式文件


XmlDocument myXml = new XmlDocument();
XmlElement RootElement = myXml.CreateElement("根節點");
transXml.AppendChild(RootElement);

XmlElement ChildElement1 = myXml.CreateElement("子節點1");
ChildElement1.InnerText = ABC;
RootElement.AppendChild(ChildElement1);

XmlElement ChildElement2 = myXml.CreateElement("子節點2");
ChildElement2.InnerText = "123";
RootElement.AppendChild(ChildElement2);


Result :
< 根節點>
<子節點1>ABC< /子節點1>
<子節點2>123< /子節點2>
< /根節點>

[C#][ASP] 網頁間傳值的方法-1

a.aspx :
Session["a"] = labal.text;
b.aspx :

String Str_a = Session["a"].ToString();


過度使用Session 會造成server 消耗過多資源

2009年11月12日 星期四

[MySQL] 取得系統時間

SYSDATE()

[MySQL] 回傳Insert 的索引值

在MySQL中常常利用AUTO_INCREMENT產生索引的值,
但若需要用到新增的索引值寫入到別的地方時該怎麼做呢?
可以使用MYSQL中的LAST_INSERT_ID()

SELECT LAST_INSERT_ID()



string sqlIns = "INSERT INTO table (a,b) VALUES ('c','d')";
OdbcCommand cmdIns = new OdbcCommand(sqlIns, myConn);
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();
cmdIns.CommandText = "SELECT LAST_INSERT_ID()";

// Get the last inserted id.
int insertID = Convert.ToInt32(cmdIns.ExecuteScalar());

[MySQL][C#] ODBC 連線


private OdbcConnectionStringBuilder odbcConn = new OdbcConnectionStringBuilder();
private OdbcConnection myConn = new OdbcConnection();


odbcConn.Driver = "MySQL ODBC 5.1 Driver";
odbcConn["Server"] = "LocalHost";
odbcConn["Database"] = "ms";
odbcConn["Uid"] = "User";
odbcConn["Pwd"] = "12345678";
myConn.ConnectionString = odbcConn.ConnectionString;


myConn.Open();
OdbcCommand command = new OdbcCommand("SELECT * FROM XXX, myConn);
OdbcDataAdapter myAdapter = new OdbcDataAdapter(command.CommandText, myConn);
DataSet myDS = new DataSet();
myAdapter.Fill(myDS);
// 利用DataList 繫結資料
DataList1.DataSource = myDS;
DataList1.DataBind();

myConn.Close();

[C#] 儲存全域變數


static class GlobolCalss
{
private static string m_gVar;
public static string GlobalClass
{
get { return m_gVar; }
set { m_gVar = value; }
}
}


GlobalClass.m_gVar = "Some value";

Label.Text = GlobalClass.m_gVar;