c# winform 에서 콤보박스는 종종 사용하게 되는데,
대부분의 경우 콤보박스는 DB에서 코드값을 넣어 사용합니다.(나의 경우)
이때마다 콤보박스을 채우는 함수를 다음과 같이 만들어 놓으면 편합니다.
public void BindCodeCombo(ComboBox cBox, string MajorCode)
{
try
{
MySqlConnection Con = new MySqlConnection(connectStr);
Con.Open();
MySqlCommand mcd = new MySqlCommand("select 코드, 코드이름 from code ", Con);
MySqlDataReader mdr = mcd.ExecuteReader();
Dictionary<string, string> comboSource = new Dictionary<string, string>();
while (mdr.Read())
{
comboSource.Add(mdr.GetString("코드"), mdr.GetString("코드이름"));
}
cBox.DisplayMember = "Value";
cBox.ValueMember = "Key";
cBox.DataSource = new BindingSource(comboSource, null);
Con.Close();
}
catch (Exception eM)
{
MessageBox.Show(".BindCodeCombo 실행중 오류가 발생하였습니다.\\n "
+ eM.Message.Replace("'", " ").ToString());
}
}
2015년 8월 26일 수요일
2015년 8월 25일 화요일
c# Regex를 이용한 숫자체크
using System.Text.RegularExpressions;
:
:
:
public string isNumber(string chk)
{
string patten = @"[^0-9+]+";
string buff;
Regex regex = new Regex(patten);
buff = regex.Replace(chk, "");
if (buff.Length > 0 && int.Parse(buff) > 0)
return buff;
else
return "false";
}
/**************
메타문자 의미
------------------------
^ 라인의 처음
$ 라인의 마지막
\w 문자(영숫자) [a-zA-Z_0-9]
\s Whitespace (공백,뉴라인,탭..)
\d 숫자
* Zero 혹은 그 이상
+ 하나 이상
? Zero 혹은 하나
. Newline을 제외한 한 문자
[ ] 가능한 문자들
[^ ] 가능하지 않은 문자들
[ - ] 가능 문자 범위
{n,m} 최소 n개, 최대 m개
( ) 그룹
| 논리 OR
***************/
:
:
:
public string isNumber(string chk)
{
string patten = @"[^0-9+]+";
string buff;
Regex regex = new Regex(patten);
buff = regex.Replace(chk, "");
if (buff.Length > 0 && int.Parse(buff) > 0)
return buff;
else
return "false";
}
/**************
메타문자 의미
------------------------
^ 라인의 처음
$ 라인의 마지막
\w 문자(영숫자) [a-zA-Z_0-9]
\s Whitespace (공백,뉴라인,탭..)
\d 숫자
* Zero 혹은 그 이상
+ 하나 이상
? Zero 혹은 하나
. Newline을 제외한 한 문자
[ ] 가능한 문자들
[^ ] 가능하지 않은 문자들
[ - ] 가능 문자 범위
{n,m} 최소 n개, 최대 m개
( ) 그룹
| 논리 OR
***************/
mySQL 함수 전화번호
mysql에서 전화번호를 반환하는 함수
전화번호가 10자리이고 처음2자리가 '02' 인 경우만 주의
delimiter $$
DROP PROCEDURE IF EXISTS polarisDB.phoneNumber$$
CREATE FUNCTION polarisDB.phoneNumber( pno VARCHAR(20) ) RETURNS VARCHAR(20)
BEGIN
DECLARE p_no VARCHAR(20);
case length(pno)
when 9 then
set p_no = concat( left(pno,2), '-', mid(pno,3,3), '-', right(pno,4) );
when 10 then
case left(pno,2)
when '02' then
set p_no = concat( left(pno,2), '-', mid(pno,3,4), '-', right(pno,4) );
else
set p_no = concat( left(pno,3), '-', mid(pno,4,3), '-', right(pno,4) );
end case;
when 11 then
set p_no = concat( left(pno,3), '-', mid(pno,4,4), '-', right(pno,4) );
when 12 then
set p_no = concat( left(pno,4), '-', mid(pno,4,4), '-', right(pno,4) );
else set p_no = pno;
end case;
RETURN p_no;
END $$
delimiter ;
전화번호가 10자리이고 처음2자리가 '02' 인 경우만 주의
delimiter $$
DROP PROCEDURE IF EXISTS polarisDB.phoneNumber$$
CREATE FUNCTION polarisDB.phoneNumber( pno VARCHAR(20) ) RETURNS VARCHAR(20)
BEGIN
DECLARE p_no VARCHAR(20);
case length(pno)
when 9 then
set p_no = concat( left(pno,2), '-', mid(pno,3,3), '-', right(pno,4) );
when 10 then
case left(pno,2)
when '02' then
set p_no = concat( left(pno,2), '-', mid(pno,3,4), '-', right(pno,4) );
else
set p_no = concat( left(pno,3), '-', mid(pno,4,3), '-', right(pno,4) );
end case;
when 11 then
set p_no = concat( left(pno,3), '-', mid(pno,4,4), '-', right(pno,4) );
when 12 then
set p_no = concat( left(pno,4), '-', mid(pno,4,4), '-', right(pno,4) );
else set p_no = pno;
end case;
RETURN p_no;
END $$
delimiter ;
c# winform 전화번호
public string PhoneNumber(string pPhone)
{
string b = "";
if (pPhone.Length == 9)
b = pPhone.Substring(0, 2) + "-" + pPhone.Substring(2, 3) + "-" + pPhone.Substring(5, 4);
else if (pPhone.Length == 10)
{
if (pPhone.Substring(0, 2) == "02")
b = pPhone.Substring(0, 2) + "-" + pPhone.Substring(2, 4) + "-" + pPhone.Substring(6, 4);
else
b = pPhone.Substring(0, 3) + "-" + pPhone.Substring(3, 3) + "-" + pPhone.Substring(6, 4);
}
else if (pPhone.Length == 11)
b = pPhone.Substring(0, 3) + "-" + pPhone.Substring(3, 4) + "-" + pPhone.Substring(7, 4);
else if (pPhone.Length == 12)
b = pPhone.Substring(0, 4) + "-" + pPhone.Substring(4, 4) + "-" + pPhone.Substring(8, 4);
else
b = pPhone;
return b;
}
{
string b = "";
if (pPhone.Length == 9)
b = pPhone.Substring(0, 2) + "-" + pPhone.Substring(2, 3) + "-" + pPhone.Substring(5, 4);
else if (pPhone.Length == 10)
{
if (pPhone.Substring(0, 2) == "02")
b = pPhone.Substring(0, 2) + "-" + pPhone.Substring(2, 4) + "-" + pPhone.Substring(6, 4);
else
b = pPhone.Substring(0, 3) + "-" + pPhone.Substring(3, 3) + "-" + pPhone.Substring(6, 4);
}
else if (pPhone.Length == 11)
b = pPhone.Substring(0, 3) + "-" + pPhone.Substring(3, 4) + "-" + pPhone.Substring(7, 4);
else if (pPhone.Length == 12)
b = pPhone.Substring(0, 4) + "-" + pPhone.Substring(4, 4) + "-" + pPhone.Substring(8, 4);
else
b = pPhone;
return b;
}
피드 구독하기:
글 (Atom)
vsftpd FTP 서버 접속은 성공하였으나, "디렉토리 목록 조회 실패" 현상 발생시
FTP Passive 모드를 활성화 필요. 1. vsftpd 설정 변경 /etc/vsftpd/vsftpd.conf 상에 아래 내용 추가 기입 #passive modpasv_enable=YES pasv_min_port=5001 pasv...
-
FTP Passive 모드를 활성화 필요. 1. vsftpd 설정 변경 /etc/vsftpd/vsftpd.conf 상에 아래 내용 추가 기입 #passive modpasv_enable=YES pasv_min_port=5001 pasv...
-
시간의 함을 구할 때 그냥 SUM만 하면 원하는 값이 나오지 않는다. 이때는 초로 변환하여 second의 합을 구하고, 시간으로 바꾸는 것이 좋더라.... select SEC_TO_TIME (sum( TIME_TO_SEC ( A.Time...