'ASP.NET 2.0'에 해당되는 글 10건
- 2009/11/10 DB 바인딩 클래스 - 펌 - 미테스트본. (2)
- 2009/05/27 DataFormatString 사용해서 세자리마다 콤마 표시하기.
- 2009/04/30 팝업창에서 부모창으로 값보내기
- 2009/04/30 Cross-Page PostBackUrl 처리를 통한 페이지간 form 데이터 전송
- 2008/10/16 방명록(GuestBook) 기본 코드
- 2008/10/16 애플리케이션 및 세션 카운터 처리 코드
- 2008/10/16 한줄 메모장 처리 기본 코드
- 2008/10/16 고객 입력 + 고객 리스트 처리 기본 코드
- 2008/10/16 기본 DB 연동 코드 (Sql 파일 + Insert, FillList)
- 2007/10/17 ASP.NET GridView Columns 템플릿 구성하기
[web.config 쪽에 해당 내용 추가]
<appSettings>
<add key="DSN" value="Data Source=dev.iamgsi.com,1433;Initial Catalog=testdb;user id=test;Password=test;"/>
</appSettings>
[DB 처리 클래스]
using System;
using System.Collections.Generic;
using System.Web;
using System.IO;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace WebApplication1
{
public class GDBCon
{
private int mCount = 0;
private SqlConnection mDbConn = null;
private SqlCommand mCmd = null;
private SqlDataReader mReader = null;
StringBuilder sb = new StringBuilder();
/* DataBase Connection Open */
public void DbConn()
{
try
{
mDbConn = new SqlConnection(GetDSN);
mDbConn.Open();
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "DataBase Open 실패");
}
}
// 연결문자열을 위한 Property
protected string GetDSN
{
get
{
// 밑에 구문이 web.config 에 있는 AppSettings
return System.Configuration.ConfigurationSettings.AppSettings["BoardDSN"];
}
}
/* DataBase Connection Close */
public void DbClose()
{
if (mDbConn == null)
{
return;
}
try
{
if (mDbConn.State.ToString() == "Open")
{
mDbConn.Close();
}
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "DataBase Close 실패");
}
}
/* DataBase Transaction Init */
public void InitTransaction(string TransName)
{
try
{
mCmd = new SqlCommand();
mCmd.Connection = mDbConn;
mCmd.Transaction = mDbConn.BeginTransaction(IsolationLevel.ReadCommitted, TransName);
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Trancsaction Open 실패");
}
}
/* Transaction Execute Query */
public void ExecuteTransaction(string[] QueryArr)
{
try
{
foreach (string Query in QueryArr)
{
mCmd.CommandText = Query;
mCmd.ExecuteNonQuery();
}
mCmd.Transaction.Commit();
}
catch (Exception e)
{
mCmd.Transaction.Rollback();
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Trancsaction Commit 실패");
}
}
/* Query Execute */
public void ExecuteQuery(string Query)
{
try
{
mCmd = new SqlCommand(Query, mDbConn);
mCmd.ExecuteNonQuery();
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, Query);
}
}
/* SQL DataReader Fatech Query */
public SqlDataReader FatechQuery(string Query)
{
try
{
mCmd = new SqlCommand(Query, mDbConn);
mReader = mCmd.ExecuteReader();
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, Query);
}
return mReader;
}
/* SQL DataReader Close */
public void ReaderClose()
{
try
{
if (!mReader.IsClosed)
{
mReader.Close();
}
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "SQLReader Close 실패");
}
}
/* Procedure Execute */
public int ExecuteProc(string ProcName, IDataParameter[] parameters)
{
int Result = 0;
try
{
SqlCommand Cmd = BuildIntCommand(ProcName, parameters);
Cmd.ExecuteNonQuery();
Result = (int)Cmd.Parameters["ReturnValue"].Value;
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Procedure ExecuteProc Error");
}
return Result;
}
/* SQL DataReader Fatech Procedure */
public SqlDataReader FatechProc(string ProcName, IDataParameter[] parameters)
{
SqlCommand Cmd = BuildProcCommand(ProcName, parameters);
try
{
Cmd.CommandType = CommandType.StoredProcedure;
mReader = Cmd.ExecuteReader();
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Procedure FatechProc Error");
}
return mReader;
}
/* Execute Query DateSet */
public DataSet ExecuteDataSet(string Query, string TableName, int StartRecord, int PageSize)
{
DataSet mDataSet = new DataSet();
try
{
SqlDataAdapter mDataAdapter = new SqlDataAdapter(Query, mDbConn);
mDataAdapter.Fill(mDataSet, StartRecord, PageSize, TableName);
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, Query);
}
return mDataSet;
}
/* Execute Procedure DateSet */
public DataSet ExecuteProcDataSet(string ProcName, IDataParameter[] parameters, string TableName, int StartRecord, int PageSize)
{
DataSet mDataSet = new DataSet();
SqlDataAdapter mDataAdapter = new SqlDataAdapter();
mDataAdapter.SelectCommand = BuildProcCommand(ProcName, parameters);
try
{
mDataAdapter.Fill(mDataSet, StartRecord, PageSize, TableName);
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Procedure ExecuteProcDataSet Error");
}
return mDataSet;
}
/* Total Count Function */
public int TotalQuery(string Query)
{
try
{
mCmd = new SqlCommand(Query, mDbConn);
mCount = (int)mCmd.ExecuteScalar();
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, Query);
}
return mCount;
}
/* Procedure BuildIntCommand */
protected SqlCommand BuildIntCommand(string ProcName, IDataParameter[] parameters)
{
SqlCommand Cmd = BuildProcCommand(ProcName, parameters);
try
{
Cmd.Parameters.Add(new SqlParameter("ReturnValue",
SqlDbType.Int,
4, /* Size */
ParameterDirection.ReturnValue,
false, /* is nullable */
0, /* byte precision */
0, /* byte scale */
string.Empty,
DataRowVersion.Default,
null));
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Procedure BuildIntCommand Error");
}
return Cmd;
}
/* Procedure Parameter Build */
protected SqlCommand BuildProcCommand(string ProcName, IDataParameter[] parameters)
{
try
{
mCmd = new SqlCommand(ProcName, mDbConn);
mCmd.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
mCmd.Parameters.Add(parameter);
}
}
catch (Exception e)
{
DbErrorMsg(e.Source, e.Message, e.StackTrace, "Procedure BuildProcCommand Error");
}
return mCmd;
}
/* Error Message Print */
public void DbErrorMsg(string ErrSource, string ErrMsg, string stack, string Query)
{
DbClose();
string ErrorMsg = "Error Souce =" + ErrSource + "<br>"
+ "Error Message = <font color='red'><b>" + ErrMsg + "</b></font><br>"
+ "Stack = " + stack + "<br><br>"
+ "Query = <font color='blue'><b>" + Query + "</b></font>";
System.Web.HttpContext.Current.Response.Write(ErrorMsg);
System.Web.HttpContext.Current.Response.End();
}
}
}
돈을 표시할때 세자리 마다 콤마를 표시 할려고 할때 좀 삽질을 많이 했다.
BoundField 이걸 사용해서 바로 하기 위해서
DataFormatString="{0:n0}" // 출력 : 1,000,000
를 사용하면 제대로 표시가 된다.
이거 말고 아래와 같이 사용하면 소수점도 표시가 되는거 같다.
DataFormatString="{0:n}" // 출력 : 1,000,000.00
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function child() {
window.open("Default2.aspx");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Text1" type="text" />
<div>
<input id="Button1" type="button" value="button" onclick="child()" />
</div>
</div>
</form>
</body>
</html>
그리고 자식창 소스... Default2.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function test() {
var ctbox = document.getElementById("Text1");
var ptbox = parent.opener.document.getElementById("Text1");
ptbox.value = ctbox.value;
window.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Text1" type="text" />
</div>
<div>
<input id="Button1" type="button"
value="button" onclick="test()" />
</div>
</form>
</body>
</html>
방명록 기본 코드
이름, 이메일, 컨텐츠, 비밀번호, 입력날짜, 입력 IP로 구성된 심플 방명록이다.
DB에 Insert 하는 것과 Select로 GridView에 추가 하는 내용이 포함되어 있다.
DB 쿼리 기본 내용
더보기
cs 기본 파일
더보기
애플리케이션 카운터 설정 및 세션 카운터 설정 방법
애플리케이션은 현재 애플리케이션이 생성된 때부터 카운터 되는 고유한 값이다.
세션 카운터는 접속한 사용자에 따라서 다르게 나타나는 카운터 값이다.
** 이때 애플리케이션 및 세션 카운터를 초기화를 해주고 싶다면 Global.aspx 에서 제공된 메소드에서
처리해야 한다.
cs 기본 파일
더보기
단순하게 이름, 이메일, 타이틀, 입력날짜, 입력 IP 등을 입력 받는 게시판입니다.
Asp.Net에서 사용하는 DB 관련 기본 코드 입니다.
1. DB를 생성하고 6개의 기능별 요악한 쿼리 파일
2. DB의 내용을 입력하는 코드
3. DB의 내용을 가져와서 DataGrid에 뿌려주는 코드
DB 기본 쿼리 파일
더보기
cs 기본 파일
더보기
단순하게 고객 이름, 이메일, 패스워드 등을 입력 받는 게시판입니다.
Asp.Net에서 사용하는 DB 관련 기본 코드 입니다.
1. DB를 생성하고 6개의 기능별 요악한 쿼리 파일
2. DB의 내용을 입력하는 코드
3. DB의 내용을 가져와서 DataGrid에 뿌려주는 코드
DB 기본 쿼리 파일
더보기
cs 기본 파일 - 고객 입력
더보기
cs 기본 파일 - 고객 리스트
더보기
Asp.Net에서 사용하는 DB 관련 기본 코드 입니다.
1. DB를 생성하고 6개의 기능별 요악한 쿼리 파일
2. DB의 내용을 입력하는 코드
3. DB의 내용을 가져와서 DataGrid에 뿌려주는 코드
DB 기본 쿼리 파일
더보기
cs 기본 파일
더보기
aspx 기본 파일
더보기
가장 좋은건 페이지 기능이 제일 맘에 드는거 같다.
업데이트, 삭제 등도 바로 지원하면서
디테일 뷰와 연동하면 기본적인 DB 제어가 가능해 진다.
하지만 기본적인 레이아웃으로만 사용해서 부족한 부분에서는 아래와 같이
TemplateField를 사용하게 되면 더 다양한 뷰를 생성할 수 있다.
아래는 GridView의 한 부분이다.
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" CssClass="gridview"
DataSourceID="SqlDataSource1" PageSize="6">
<Columns>
<asp:TemplateField HeaderText="선택">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Eval("Item_name") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:templatefield HeaderText="아이콘">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("view_img", "~\\Images\\object_icon_obj\\wi_{0}.png") %>' />
<!--<asp:Label ID="item_name1" runat=server Text='<%# Eval("Item_name") %>' />-->
<asp:Label ID="uid1" runat=server Text='<%# Eval("uid") %>' />
</itemtemplate>
</asp:templatefield>
</Columns>
</asp:GridView>
<asp:templatefield> 이걸로 묶어 주고
내부에 label, image 등등을 넣어서 레이아웃을 구성해 준다.
image 같은 경우에 url을 구성할 경우 format 정보가 필요할때가 있다.
Eval()함수를 사용해서 할때 2번째 인자 값을 사용하면 확장을 할 수가 있다.

Prev
Rss Feed