C# sql 데이타베이스 연결 문자열

SqlConnection myConnection = new SqlConnection ("Data Source=localhost;Initial Catalog=AutoLot;Integrated Security=True;Pooling=False
");

SqlCommand myCommand = new SqlCommand("INSERT INTO [hello] ([hello]) VALUES (@hello)", myConnection);

SqlParameter helloParam = myCommand.Parameters.Add("@hello", SqlDbType.VarChar );

helloParam.Value = MyTextBox.Text;

myConnection.Open();

myCommand.ExecuteNonQuery();

ReplyQuote

이것때문에 한참 고생하다가 겨우... 찾았다
visual studio 2010 의 서버 익스플로러에서 데이타 커넥션 메뉴에 db를 띄워놓고
클릭하면 오른쪽 아래 속성창에

이런식으로 나온다.저 부분을 커넥션 스트링에다가 그냥 대입하면 된다.
문자열을 어떻게 넣어야될지 몰라서 고생했다면... 이렇게 하는것도 좋을듯... 한참고생했네

/**처음에 썼다가 안되서 이것저것 덕지덕지 붙여가지고 소스가 너무 더러워졌다. 엄청난 노가다 소스를 제작했다가 실패한부분
                ////SQL입력,.. 입력할게 너무 많아서 이걸로 못해먹겠다 해결방법은 스트링에 반복문 합체하기로 해서 입력하면 될듯하다.
                string cnStr ="Data Source=localhost;Initial Catalog=AutoLot;Integrated Security=True;Pooling=False";
                string connectionString =//"Source=localhost;Initial Catalog=StockPrice;Persist Security Info=True;User ID=아이디;Password=비번";
                    "Data Source=MSSQLSERVER; Integrated Security=SSPI;Initial Catalog=StockPrice;connection timeout=5";
                    /** "user id=아이디;" +
                                       "password=비밀번호;
server=localhost;" +
                                       "Trusted_Connection=yes;" +
                                       "database=StockPrice; " +
                                       "connection timeout=5";**/
                // Create a connection string via the builder object.
                /**
                SqlConnectionStringBuilder cnStrBuilder = new SqlConnectionStringBuilder();
                cnStrBuilder.InitialCatalog = "StockPrice";
                cnStrBuilder.DataSource = "localhost";
                cnStrBuilder.ConnectTimeout = 10;
                cnStrBuilder.IntegratedSecurity = true;
                **/
                string connectionString = "Data Source=localhost;Initial Catalog=AutoLot;Integrated Security=True;Pooling=False";
                SqlConnection sqlCn = new SqlConnection();

                sqlCn = new SqlConnection();
                sqlCn.ConnectionString = connectionString;
                //sqlCn.ConnectionString = cnStrBuilder.ConnectionString;
                sqlCn.Open();

                // Format and execute SQL statement.
                string sql = string.Format("Insert Into FutureHoga" +
                  "(date, hotime, sametime, futcode, offerho1, offerho2, offerho3, offerho4, offerho5, bidho1, bidho2, bidho3, bidho4, bidho5, offerrem1, offerrem2, offerrem3, offerrem4, offerrem5, bidrem1, bidrem2, bidrem3, bidrem4, bidrem5, offercnt1,offercnt2,offercnt3,offercnt4,offercnt5, bidcnt1,bidcnt2,bidcnt3,bidcnt4,bidcnt5,totofferrem,totofferrem,totoffercnt,totobidcnt" +
                  "('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}', '{19}', '{20}', '{21}', '{22}', '{23}', '{24}', '{25}', '{26}', '{27}', '{28}', '{29}', '{30}', '{31}', '{32}', '{33}', '{34}', '{35}', '{36}', '{37}', '{38}')",
                  DateTime.Now.Date,
                  m_RealFH0[i].GetFieldData("OutBlock", "hotime"),
                                     (sametime++),
                                     m_RealFH0[i].GetFieldData("OutBlock", "futcode"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerho1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerho2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerho3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerho4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerho5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidho1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidho2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidho3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidho4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidho5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerrem1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerrem2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerrem3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerrem4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offerrem5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidrem1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidrem2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidrem3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidrem4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidrem5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offercnt1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offercnt2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offercnt3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offercnt4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "offercnt5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidcnt1"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidcnt2"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidcnt3"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidcnt4"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "bidcnt5"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "totofferrem"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "totofferrem"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "totoffercnt"),
                                     m_RealFH0[i].GetFieldData("OutBlock", "totobidcnt"));

                // Execute using our connection.
                using (SqlCommand cmd = new SqlCommand(sql, this.sqlCn))
                {
                    cmd.ExecuteNonQuery();
                }
                sqlCn.Close();//SQL닫기

C# Stream - FileStream, MemoryStream, NetworkStream, GZipStream

스트림의 종류들

FileStream
Close()
Read()
Seek()
Write()
MemoryStream
Close()
Read()
Seek()
Write()
NetworkStream
Close()
Read()
Seek()
Write()
GZipStream
Close()
Read()
Seek()
Write()

FileStream은 바이트 형태로 파일을 작성
문자열을 바이트 배열로 변환해야함
마지막에 파일을 닫아주지 않으면 다른 프로그램이 파일을 사용하지 못함

StreamWriter의 Write()와 WriteLIne()메소드를 호출해서 해겨

StreamWriter사용예

StreamWrite sw= new StreamWriter(@"C:\filename.txt"); //쓰기스트림
StreamReader sr = new StreamReader(@"C:\readfile.txt"); //읽기스트림
sw.WriteLine("쓰고싶은말들");
sw.Write("jlasdjlksdf");
sw.WriteLine("사과는 #{0} 껌은#{1}", apple, gum);
sw.Close();//sw닫기
sr.Close();//sr닫기
//닫는거 잘 확인해야됨

CryptoStream //스트림을 암호화하는 기능.. 암호화해서 다른 스트림으로 전송하는데 사용
Close()
Read()
Seek()
Write()

name space System;
public inerface IDisposable();
void Despose();

-BinaryReader

[C#] 배열 LIST 열거형 컬렉션

List 인스턴스 생성

List  peoples = new List();
string[] name = new string[NUM];

배열은 길이를 미리 알아야되고뭐 이래저래 쓰기 불편한데...
List는 편하게 쓸 수 있다.<people>이라고 선언을 했으이 이 List에서는 people만 쓸 수 있다. 
 

peoples.Add(new people());//이런식으로선언
/////////////////////////////
//아이템추가
people x = new people();
peoples.Add(x);
//////////////아이템한개 더 추가
people y = new people();
peoples.Add(y);
////아이템이 몇 개 있는지 확인
int peolecount = peoples.Count;
//특정아이템 확인
bool Isin = people.IndexOf(y);
//리스트 용량확인
int limit = people.Capacity;
//리스트 특저앙이템 제거
people.Remove(y);

비슷하긴한데 기록이 좀 틀린 것 같으니... 나중에 확인수정...

Sort()매서드는 List를 쉽게 정리하는 알고리즘 제공
CompareTo()는 객체를 비교하는 알고리즘
ICompare

enum

[펌]C# DateTime함수 기능들 설명 스케쥴

class ReadFromFile

// 프로그램 시작시간
DateTime startTime = DateTime.Now;

// 1. 현재시간
DateTime now;
now = DateTime.Now;

Console.WriteLine(now); // 현재시간 전체
Console.WriteLine(now.Year); // 현재 년도
Console.WriteLine(now.Month); // 현재 달
Console.WriteLine(now.Day); // 현재 일
Console.WriteLine(now.DayOfWeek); // 현재 주
Console.WriteLine(now.DayOfYear); // 1년중 몇일째인지
Console.WriteLine(now.TimeOfDay); // 금일 자정부터 몇시간
Console.WriteLine(now.Hour); // 시간
Console.WriteLine(now.Minute); // 분
Console.WriteLine(now.Second); // 초
Console.WriteLine(now.Millisecond); // 1000분의 1초

Console.WriteLine(now.Ticks); // 1000분의 1초

// 2. 임의시간 설정
DateTime birthday;
birthday = DateTime.Parse("2009년8월9일"); // 시분초 미지정시 자정으로
birthday = DateTime.Parse("2009/08/09");

Console.WriteLine(birthday);

DateTime xmas;
xmas = new DateTime(2008, 12, 25, 0, 0, 0);

Console.WriteLine(xmas);

// 3. 연산

// 3.1 오늘 + 100일
now = DateTime.Now;
DateTime result = now.AddDays(100); // 각 단위별 add메소드가 존재 MSDN참고

Console.WriteLine(result);

// 3.2 크리스마스까지 남은 날
TimeSpan result2 = xmas - now;
Console.WriteLine(result2);
Console.WriteLine(result2.Days); // NNN일 (내림표현)
Console.WriteLine(result2.TotalDays); // NNN.NNNNNNN일 (더정확)

// 3.3 오늘 - 100일
Console.WriteLine(now - TimeSpan.FromDays(100));
Console.WriteLine(now.AddDays(-100));

// 4. 날짜시간 출력형식 지정
Console.WriteLine(now.ToLocalTime()); // 2008-08-08 오전 10:31:25

Console.WriteLine(now.ToLongDateString()); // 2008년 8월 8일 금요일
Console.WriteLine(now.ToShortDateString()); // 2008-08-08

Console.WriteLine(now.ToLongTimeString()); // 오전 10:31:25
Console.WriteLine(now.ToShortTimeString()); // 오전 10:31

// 프로그램 종료시간
DateTime endTime = DateTime.Now;

Console.WriteLine("프로그램 수행시간 : {0}/ms", (double)(endTime - startTime).Ticks / 1000000.0F);



[펌]C#, MSDN, 파일읽어서 한줄씩 출력하는 함수, 배열로 한줄씩 읽음

class ReadFromFile
{
static void Main()
{
// The files used here were created in the code example
// in How to: Write to a Text File. You can of course substitute
// other files of your own.

// Example #1
// Read the file as one string.
string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");

// Display the file contents to the console.
System.Console.WriteLine("Contents of writeText.txt = {0}", text);

// Example #2
// Read the file lines into a string array.
string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Public\TestFolder\WriteLines2.txt");

System.Console.WriteLine("Contents of writeLines2.txt =:");
foreach (string line in lines)
{
Console.WriteLine("\t" + line);
}

// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}


msdn이 없던 시절에는 어떻게 프로그램을 짰을까... 함수도 없고.. ㅠ
파일입출력함수인데 여러모로 쓸모가 많다.
배열로 한줄한줄씩 출력해줘서 쓰기도 편하고
우리나라 C#인구가 많지 않아서인지...
한국웹에 는 내가 검색한거랑 비슷한 관련검색이 많았는데... 쓸만한게없었는데...

역시 msdn.... 영어의 압박만 이겨내면 정말 좋긴 좋다.

c#이 간단한거만들기는 정말 편한 것 같다. 베이직처럼 엑셀과 연계가 잘되지는 않는게 좀 아쉽기는 하지만....
이거 잘 배워두면 윈도폰 나오면 바로 앱도 만들 수 있고.. 나름 쓸모있다.

[펌]C++ import 에러 발생상황

http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=5779&ref=5779


stdafx.h 에 #import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace

하고 컴파일을 시키게 되면 아래와 같은 에러가 발생합니다.

d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2629: unexpected 'short ('
d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2238: unexpected token(s) preceding ';'

이것은 EOF 와 ADOEOF 간의 name 충돌에 의한 현상이라고 하더군요..

해결하기 위해서는 아래와 같이 EOF의 충돌을 방지하기 위해 adoEOF나 ADOEOF 등과 같이 누가 보아도 알기 쉽게 바꾸어주시면 좋겠죠..

참고적으로 KSEOF(제 이름 이니셜에다가.. --;) 이런식으로 해주시면 코딩해놓고 욕먹습니다.

가급적이면 자기만 알 수 있는 코딩은 안하는게 좋겠죠.. ^^;

#import "c:\Program Files\Common Files\System\ADO\msado15.dll"  no_namespace rename("EOF", "adoEOF") rename("BOF", "adoBOF")

이런식으로 하게 되면 EOF 간의 name 충돌은 없어지게 됩니다.

c언어 입출력함수 printf scanf와 서식문자conversion specifier

 
#include 

int main(void)
{
	int a=5;
	char s[100]="안녕";
	printf("너 %d %s\n",a, s);
	return 0;
}

여기서 %d %s 등등 을 서식문자conversion specifier라고 함%d - 10진수 정수형
%c - 단일문자
%d - 부호있는 10진수 정수형
%i - 부호있는 10진수 정수 %d와 같음(왜 따로해놨을까)
%f - 부호있는 10진수 실수
%s - 문자열
%o - 부호없는 8진정수
%u - 부호없는 10진 정수
%x - 부호없는 16진정수 소문자 사용
%X - 부호없는 16진 정수 대문자 사용
%e - e표기법에 의한 실수
%E - E표기법에 의한 실수
%g - 값에 따라서 %f %e둘 중 하나를 선택
%G - 값에 따라서 %f %E 둘중 하나를 선택
%% - %기호 출력

" " 사이에 써넣을 수 있는 특수문자
\a - 경고음발생
\b - 백스페이스backspace
\f - 폼피드form feed
\n - 라인변경
\r - 캐리지 리턴carriage return
\t - 수평탭
\v - 수직탭
\\ - 백슬레시 한글폰드에서는 원
\' - 작은 따옴표
\" - 큰따옴표

c# file i/o 샘플

 
using System;
using System.IO;

class WriteTextFile
{
    static void Main()
    {
        
        // These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
        // You can modify the path if necessary.

        // Example #1: Write an array of strings to a file.
        // Create a string array that consists of three lines.
        string[] lines = { "First line", "Second line", "Third line" };
        System.IO.File.WriteAllLines(@"C:\price\WriteLines.txt", lines);
        
        
        // Example #2: Write one string to a text file.
        string text = "A class is the most powerful data type in C#. Like structures, " +
                       "a class defines the data and behavior of the data type. ";
        System.IO.File.WriteAllText(@"C:\price\WriteText.txt", text);
        
        // Example #3: Write only some strings in an array to a file.
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\price\WriteLines2.txt"))
        {
            foreach (string line in lines)
            {
                if (line.Contains("Second") == false)
                {
                    file.WriteLine(line);
                }
            }
        }

        // Example #4: Append new text to an existing file
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\price\WriteLines2.txt", true))
        {
            file.WriteLine("Fourth line");
        }
        
    }
}
/* Output (to WriteLines.txt):
    First line
    Second line
    Third line

 Output (to WriteText.txt):
    A class is the most powerful data type in C#. Like structures, a class defines the data and behavior of the data type.

 Output to WriteLines2.txt after Example #3:
    First line
    Third line

 Output to WriteLines2.txt after Example #4:
    First line
    Third line
    Fourth line
 */

c언어 rand() srand() time() 난수생성

rand()
일정한 난수만 생성

srand()
일정한 난수생성의 시작값을 변경해주는 씨앗

time()
시간이 지날 때 마다 값이 바뀌니까 srand에 들어가서 조금 더 랜덤한 값을 만들게됨

생각한거
날씨나 웹페이지
네이버 시작페이지에서 몇번째 글자값을 숫자로 변환하는 등의 랜덤값 생성

srand(time(NULL))
time에 값을 넣어줄 수도 있는데.. 보통NULL로 하면 현재시간이 나옴

흔히 사용되는 방법은
int num;

srand(time(NULL));
num=rand()%6;
1~6까지의 숫자(주사위가 됨)