닷넷/C#
-
C# 엑셀파일 가져오기 using OleDb닷넷/C# 2017. 5. 22. 09:57
OleDb를 이용하면 컴퓨터에 엑셀이 설치되어있지 않아도, 엑셀 라이브러리를 참조하지 않아도엑셀의 데이터를 가져올 수 있다.만약 안 된다고 하면 provider가 설치되어 있지 않아 그런 것이니 AccessDatabaseEngine을 설치하면 된다. using System.Data.OleDb; private DataTable GetSheet(string excelPath) { string connstring = string.Empty; if (excelPath.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 { connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelPath + ";Extended Pr..
-
C# FTP 연결 확인 및 파일 다운로드닷넷/C# 2017. 1. 10. 14:56
using System.Net; private ftpConn(){ try { FtpWebRequest ftpre = (FtpWebRequest)WebRequest.Create(string.Format("ftp://{0}/{1}", txtFTP_Host.Text.Trim(), txtFTP_File.Text.Trim())); ftpre.Method = WebRequestMethods.Ftp.ListDirectory; ftpre.Credentials = new NetworkCredential(txtFTP_UID.Text.Trim(), txtFTP_PWD.Text.Trim()); ftpre.GetResponse(); } catch { //Exception }} private void ftpDownload(){ ..
-
C# DB에 이미지가 16진수로 저장되어 있을 때닷넷/C# 2016. 12. 7. 09:54
텍스트 파일에 저장되어 있는 것보다 간단하다.connection 부분과 command 부분은 뺐습니다. conn.Open(); SqlDataReader reader = comm.ExecuteReader(); byte[] bImage = null;while (reader.Read()){ bImage = (byte[])reader["Picture"]; // 이미지가 hex string으로 저장되어 있는 칼럼명} if (bImage != null){ pictureBox1.Image = new Bitmap(new MemoryStream(bImage));}reader.Close();conn.Close();Colored by Color Scriptercs
-
C# hex string to image닷넷/C# 2016. 12. 7. 09:46
이미지가 텍스트 파일로 저장되어 있고, 그 데이터가 16진수라면그 파일을 읽어서 PictureBox에 불러 오는 방법. 지식인에 답변한 거에서 아주 조금 다듬음. - 이벤트에 작성 OpenFileDialog ofd = new OpenFileDialog(); // 파일열기if (ofd.ShowDialog() == DialogResult.OK){ string fileName = ofd.FileName; string imgtxt = System.IO.File.ReadAllText(fileName); // 텍스트파일내용 가져오기 Byte[] data = HexString2Bytes(imgtxt.Substring(2)); //string 형식인 데이터의 형식을 바이트로 바꾸기 // 참고로 16진수를 나타내는 0x..
-
C#에서 MDB(MS Access) 파일 압축하기닷넷/C# 2016. 10. 11. 12:19
먼저 참조추가에서 COM 탭에 있는 Microsoft Jet and Replication Objects 2.6 Library를 추가한다. JRO.JetEngineClass jro = new JRO.JetEngineClass(); jro.CompactDatabase("Provider=Microsoft.jet.OLEDB.4.0;Data Source=압축할MDB", "Provider=Microsoft.jet.OLEDB.4.0;Data Source=압축후MDB"); 만약 Interop 형식 'JRO.JetEngineClass'을(를) 포함할 수 없습니다. 적용 가능한 인터페이스를 대신 사용하십시오. 같은 오류가 발생하면 1. 참조에 JRO를 클릭하거나 오른쪽 마우스로 클릭하여 속성창을 띄운다. 2. 속성창에 [..
-
C# 레지스트리 읽기, 쓰기닷넷/C# 2016. 9. 22. 13:36
using Microsoft.Win32; // 레지스트리 읽기 public string getReg(string regName) { RegistryKey reg = Registry.LocalMachine; reg = reg.OpenSubKey("Software\\Your Program Name", true); string regData = ""; if (reg == null) regData = ""; else regData = Convert.ToString(reg.GetValue(regName)); return regData; } // 레지스트리 쓰기 public void setReg(string regName, string regData) { RegistryKey reg = Registry.LocalM..
-
C# mdb, accdb 연결 방법닷넷/C# 2016. 9. 22. 13:03
using System.Data.OleDb; // mdb인 경우OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mdb파일;"); // accdb 경우OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=accdb파일;Mode=ReadWrite;");
-
C# MSSQL 저장프로시저 호출 및 반환값 가져오는 방법닷넷/C# 2016. 9. 1. 18:30
다음은 구글링 하니 C#에서 MSSQL의 저장프로시저를 사용하는 방법이라고 나온 것이다. SqlCommand cmd = new SqlCommand("저장프로시저이름", conn);cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.Add("@변수이름", SqlDbType.변수타입) = 데이터; 간단하게SqlCommand cmd = new SqlCommand("EXEC 프로시저명 값1, 값2", conn);cmd.ExecuteNonQuery();이렇게 써도 된다. 그런데 저장 프로시저에 SELECT가 있어서 반환값을 가져 올 수 있는 경우단순히 Command를 사용하면 되지 않는다. 이때는 Adapter와 DataTable를 이용하면 된다. SqlD..
-
C# 폴더와 텍스트파일(txt, log 파일 등) 생성, 글쓰기, 저장닷넷/C# 2016. 8. 18. 15:25
using System.IO 해당 폴더가 있는지 없는지 확인하고 없으면 폴더를 생성하는 코드는 다음과 같다.DirectoryInfo dtif = new DirectoryInfo("폴더 위치");if (!dtif.Exists){ dtif.Create();} 다음은 해당 파일이 있는지 없는지 확인하고 없으면 파일을 생성하는 코드이다.보통 텍스트파일, ini 파일, log 파일 등등을 생성할 때 쓰임. 첫 번째 방법,이 방법은 파일을 생성하고 나서 이 파일을 사용하고자 할 때파일닫기가 없기때문에 해당 파일에 액세스 할 수 없는 오류가 발생한다. if (!File.Exists(Application.StartupPath + "\\test\\test.txt")){ File.Create(Application.Star..
-
C# ini 파일 읽고 쓰기닷넷/C# 2016. 8. 18. 11:23
ini 파일은 Config 파일이나 데이터 파일을 만들때 주로 사용하는 확장자이며 파일이다. C#에서 ini파일을 어떻게 생성하고 데이터를 어떻게 저장하는지, 또 어떻게 읽는지 알아보자. 제일 먼저 InteropServices 지시문 추가 using System.Runtime.InteropServices; namespace MyNameSpace { class MyClass { // ini 파일을 불러올 때 사용되는 함수 [DllImport("kernel32")] private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, i..
-
C# 현재위치(경로) 가져오는 방법닷넷/C# 2016. 8. 16. 17:32
출처: http://rocabilly.tistory.com/114적어 놓은 게 있었는데 없어져서,다시 작성하려고 했으나 잘 정리된 글이 있어서 퍼옴. 1. Application.StartupPath - 현재 application이 존재하는 경로- winform 인 경우에만 사용가능- 레지스트리 관계없이 실제 실행 파일- Application.ExcutablePath 와 동일- string filePath = Application.StartupPaht + @"\\testFile.txt"; 2. System.Environment.CurrentDirectory - 현재 작업 실행되는 경로- winform 이외의 개발 환경에서도 사용가능- winform 에서는 "C:\Windows\System32" 경로가 나옴..
-
C# string을 DateTime으로 변환닷넷/C# 2016. 7. 5. 13:50
string 형식에 날짜만 있는 경우 어떻게 DateTime으로 변환할 수 있을까. 1) DateTime으로 변환을 하려면 문자열이 날짜 + 시간을 포함하고 있어야 한다. 2) 단순히 문자가 나열되어 있으면 시스템이 이 문자가 연도인지 달인지 날인지 인식 못함. 3) 문자열을 재배치 해준다. 4) 날짜만 있으므로 시간이 필요하다. 로컬시간을 가져온다. 5) string을 DateTime으로 변환할 수 있다. 6) 변환한 dateTime을 DateTime 형식에 써야 하는 곳에 사용한다. 아래 소스 참고! string before = "20160115"; string after = before.Substring(0,4) + "-" + before.Substring(4,2) + "-" + before.Sub..
-
C# MSSQL 연결닷넷/C# 2016. 7. 5. 13:45
using System.Data.SqlClient; // MSSQL 연결 할 때 제일 먼저 선언해 줄 것! Sql 아닙니다. SqlClient 입니다. namespace Monitoring{ public partial class frmMain : Form { public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { SqlConnection sqlConnection = new SqlConnection("Server=서버주소;Database=데이터베이스이름;User ID=아이디;Password=비밀번호"); if (sqlConnection != null && sqlConnection.S..