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;
}