반응형
//MS SQL 2000
select
    tb.snum,
    ta. code,
    tc.user_name,
    ta.title,
    ta.contents,
    ta.filename,
    ta.filedata
from board01 as ta,
(
    select count(b.code) as snum, b.code
    from board01 as a,
    (
        select code from board01
    ) as b
    where a.code >= b.code
    group by b.code
) as tb,
info_users as tc
where ta.code = tb.code
and ta.writer = tc.user_id

//MS SQL 2005
select (Row_number() Over(Order By Refer desc, Step)) as aaa,* from t_board2


MS SQL 2000은 Row_number함수를 지원하지 않는다.
사용자가 함수를  직접 만들어서 사용하거나 서브쿼리를 만들어서 카운트를 지정한후 
직접 Row number를 뽑아내는 수 밖에 없다.
반응형
using System;
using System.Globalization;

public class SamplesTextInfo  
{

public static void Main()  {
//셈플데이터
string myString = "wAr aNd pEaCe";
//문자변환을 하기 위한 선언
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
// 소문자로
Console.WriteLine( "\"{0}\" to lowercase: {1}", myString, myTI.ToLower( myString ) );
// 대문자로
Console.WriteLine( "\"{0}\" to uppercase: {1}", myString, myTI.ToUpper( myString ) );
// 대소문자를 반전
Console.WriteLine( "\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase( myString ) );

}

반응형
//XML기본예제
XmlTextWriter myXmlTextWriter = new XmlTextWriter ("newbooks.xml", null);

myXmlTextWriter.Formatting = Formatting.Indented;
myXmlTextWriter.WriteStartDocument(false);
myXmlTextWriter.WriteDocType("bookstore", null, "books.dtd", null);
myXmlTextWriter.WriteComment("This file represents another fragment of a book store inventory database");
myXmlTextWriter.WriteStartElement("bookstore");
    myXmlTextWriter.WriteStartElement("book", null);
        myXmlTextWriter.WriteAttributeString("genre","autobiography");
        myXmlTextWriter.WriteAttributeString("publicationdate","1979");
        myXmlTextWriter.WriteAttributeString("ISBN","0-7356-0562-9");
        myXmlTextWriter.WriteElementString("title", null, "The Autobiography of Mark Twain");
        myXmlTextWriter.WriteStartElement("Author", null);
            myXmlTextWriter.WriteElementString("first-name", "Mark");
            myXmlTextWriter.WriteElementString("last-name", "Twain");
        myXmlTextWriter.WriteEndElement();
        myXmlTextWriter.WriteElementString("price", "7.99");
    myXmlTextWriter.WriteEndElement();
myXmlTextWriter.WriteEndElement();

//Write the XML to file and close the myXmlTextWriter
myXmlTextWriter.Flush();
myXmlTextWriter.Close();

//XML실제 예제
        string saveFile = (path.Trim().Substring(path.Length - 1, 1) == "\\" ? path + fileName : path + "\\" + fileName);
        XmlTextWriter xwriter = new XmlTextWriter(saveFile, null);
        xwriter.Formatting = Formatting.Indented;
        xwriter.WriteStartDocument();

        xwriter.WriteStartElement("transInfo");
        xwriter.WriteElementString("dataKind", dataKind);
        xwriter.WriteElementString("tableName", tableName);
        xwriter.WriteElementString("receiveDate", today);

        xwriter.WriteStartElement("contents", null);
        string _tmpcontent = (contents.Trim().Substring(contents.Length - 1, 1) == WinsConst.ROWCONST.ToString() ? contents.Remove(contents.Length - 1) : contents);

//WinsConst.ROWCONST에 지정된 값으로 data1에 배열로 저장된 만큼 루프를 돌려서 XML저장
        string[] data1 = _tmpcontent.Split(WinsConst.ROWCONST);
        for (int i = 0; i < data1.Length; i++)
        {
//Split가 두번 나오는데 크게 한번 나눠주고 다시 세부로 나눠준다.(XML형식때문에 지정한 루프)
            string[] data2 = data1[i].Split(WinsConst.COLCONST);

            xwriter.WriteStartElement("content", null);

            for (int j = 0; j < data2.Length; j++)
            {
                xwriter.WriteElementString(colName[j], data2[j]);
            }
            xwriter.WriteEndElement();
        }

        xwriter.WriteEndElement();

        xwriter.WriteEndDocument();

        xwriter.Flush();

        xwriter.Close();
반응형
자바 소스
[code type="java"]
import java.sql.*;

public class CallableTest {
public static void main(String[] args) throws SQLException{
  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", "apmsetup");
  
  PreparedStatement stmt;
  
  String sqlStr = "select * from db where id=?";
  
  stmt = conn.prepareStatement(sqlStr);
  
  stmt.setInt(1, 10);
  
  ResultSet rs = stmt.executeQuery();
  
  while(rs.next())
  {
   System.out.println(rs.getString(1));
  }
  
  stmt.close();
  conn.close();
 }
}
[/code]

=======================================
그리고 C# 소스
[code type="csharp"]
using System;
using System.Data;
using System.Data.SqlClient;

class SqlParamTest
{
    static void Main(string[] args)
    {
        string connStr = "Provider=MySQLProv;Data Source=mysql;" +
                         "Location=localhost;User Id=root;Password=apmsetup";
        string query = "select * from db where id=@ID";

        SqlConnection conn = new SqlConnection(connStr);
        conn.Open();

        SqlCommand comm = new SqlCommand(query, conn);

        comm.Parameters.Add("@ID", SqlDbType.Int);
        comm.Parameters["@ID"].Value = "10";

        SqlDataReader sr = comm.ExecuteReader();

        while (sr.Read())
        {
            Console.WriteLine(sr.GetInt32(0)));
        }
        sr.Close();
        conn.Close();
    }
}
[/code]

반응형
using System.Web.Mail;

private void SmtpMailSend()
{
MailMessage mail = new MailMessage();
mail.From = "보내는 사람";
mail.To = "받는사람";
mail.Cc = "참조";

mail.Subject = "메일 제목";
mail.Body = "메일 본문 내용";
mail.BodyFormat = MailFormat.Html; //메일 Fotmat 형식
mail.Priority = MailPriority.High; //메일 중요도
SmtpMail.Send(mail); //메일 발송
}

반응형
//--------------------서버주소 가져오기-----------------------------------

using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;

IPHostEntry IPHost = Dns.Resolve(Dns.GetHostName());
IPAddress addr = IPHost.AddressList[0];
IPHost.AddressList[0].ToString();

==================↓한줄요약===================================
IPAddress addr = Dns.Resolve(Dns.GetHostName()).AddressList[0];

//--------------------클라이언트 주소가져오기-----------------------------

Response.Write(Request.ServerVariables["REMOTE_HOST"]);
반응형
//========================================
//↓↓ASP.NET1.1에서 파일업로드
//========================================
protected void saveFile()
{
    string FileName = FileUpload.PostedFile.FileName;
    if (FileName != null || FileName != string.Empty)
    {
        Session["myupload"] = FileUpload;
    }
    HtmlInputFile hif = (HtmlInputFile)Session["myupload"];
    string storePath = "d:\\momo13";
    if (Directory.Exists(storePath))
        Directory.CreateDirectory(storePath);
    hif.PostedFile.SaveAs(storePath + "/" + Path.GetFileName(hif.PostedFile.FileName));
    lblMsg.Text = "업로드";
}

//========================================
//↓↓ASP.NET2.0에서 파일업로드
//========================================
protected void saves1()
{
    if (FileUpload1.HasFile)
    {
        
        DirectoryInfo di = new DirectoryInfo(upDir);
        if (!di.Exists)
            di.Create();
        string fName = FileUpload1.FileName;
        string fFullName = upDir + fName;
        FileInfo fInfo = new FileInfo(fFullName);
        if (fInfo.Exists)
        {
            int fIndex = 0;
            string fExtension = fInfo.Extension;
            string fRealName = fName.Replace(fExtension, "");
            string newFileName = "";
            do
            {
                fIndex++;
                newFileName = fRealName + "_" + fIndex.ToString() + fExtension;
                fInfo = new FileInfo(upDir + "\\" + newFileName);
            }
            while (fInfo.Exists);
            fFullName = upDir + "\\" + newFileName;
        }
        FileUpload1.PostedFile.SaveAs(fFullName);
        lblMsg.Text = "업로드된 파일 : " + fFullName;
    }
    else
    {
        lblMsg.Text = "업로드할 파일이 존재하지 않습니다.";
    }
}

반응형
string strSql = "Select * From country_def";
OracleCommand cmd = new OracleCommand(strSql,dbConn.OraConn());
cmd.Connection.Open();
OracleDataReader rd = cmd.ExecuteReader();
dpCountry.DataSource = rd;
dpCountry.DataValueField = "country_cd";
dpCountry.DataTextField = "country_name";
dpCountry.DataBind();
rd.Close();
cmd.Connection.Close();
----------------------------------------------------------------------
기초적인 내용인데 자주 까먹는다. ㅠ_ㅠ
반응형
ASP.NET에서는 Response.WriteFile() 이라는 함수를 이용해서 파일(바이너리)을 스트림으로 내려보낼 수 있다.
사용 방법은 간단하다.

 

    Response.AddHeader("Content-Disposition", "attachment;filename=\"123.zip\"");
    Response.ContentType = "application/octet-stream";

    Response.WriteFile("C:\\123.zip");

 

즉, URL로 접근이 가능하지 않은 파일을 이와 같은 방법을 통해 동적으로 내려보낼 수 있다.
그런데, 이 파일의 크기가 100MB이상의 대용량인 경우에는 웹 서버에서 에러가 발생하고 다운로드가 안될 수 있다.
그럴 때는 아래 링크를 참조하자.

 

http://support.microsoft.com/kb/812406 

반응형
※닷넷에서 한글파라미터는 인식이 되지 않는 경우가 있기 때문에 인코딩 디코딩 해준다.
   특히 띄워쓰기 포함된 한글파라미터는 반드시 인코딩 디코딩 해주어야 한다.

//보내는 쪽 url파라미터
group = HttpUtility.UrlEncode(group);
//받는 쪽 url파라미터
group = HttpUtility.UrlDecode(Request.Params["group"].ToString().Trim());

※참조한 원문 
HttpUtility.UrlEncode("홍길동", System.Text.Encoding.GetEncoding("euc-kr")) 

+ Recent posts