C\#에서 Sqlparameter 를 사용 하 는 두 가지 용법
5223 단어 c#Sqlparameter사용법
create table abc
(
id int IDENTITY(1,1) NOT NULL,
name nvarchar(100) ,
sex nvarchar(10)
)
insert into abc values(‘asf',' ')
insert into abc values(‘ai',' ')
표 만 들 기 완료.새 저장 프로시저:
create procedure selbyid
(
@id int,
@thename nvarchar(100) output
)
as
select @thename= name from abc where id=@id
실행 하 는 과정 에서 sqlparameter 의 몇 가지 형식 으로 저장 과정 을 호출 할 수 있 습 니 다.첫 번 째 는:
public string connString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;// , 。
public SqlConnection getcon( )
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = connString;
return conn;
}
private void btnsqlparauseing_Click(object sender, EventArgs e)
{
SqlConnection con = getcon();
con.Open();
string sqlstr = "insert into abc values(@name,@sex)"; // sql
SqlCommand cmd = new SqlCommand( );
cmd.Connection = con;
cmd.CommandText = sqlstr;
SqlParameter para = new SqlParameter(); //
para= new SqlParameter("@name", SqlDbType.NVarChar,100);// @Id , @ , , , , 。
para.Value = txtname.Text.ToString().Trim(); // , 。
cmd.Parameters.Add(para); // cmd 。
para = new SqlParameter("@sex", SqlDbType.NVarChar, 10);
para.Value = txtsex.Text.ToString().Trim();
cmd.Parameters.Add(para);
int i =cmd.ExecuteNonQuery(); // sql , 。
MessageBox.Show(i.ToString() + " ", " ",MessageBoxButtons.OK,MessageBoxIcon.Information);
con.Close();
}
2.두 번 째 는 sqlparameter 의 몇 가지 방식 으로 저장 과정 을 호출 하 는 것 입 니 다.1.
private void btnshuchu_Click(object sender, EventArgs e)
{
SqlConnection con = getcon();
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "selbyid"; //
cmd.CommandType = CommandType.StoredProcedure; //
SqlParameter para = new SqlParameter(); // sqlparameter
para = new SqlParameter("@id", SqlDbType.Int); //
para.Value = int.Parse(txtid.Text.ToString().Trim()); //
cmd.Parameters.Add(para); // cmd
para=new SqlParameter("@thename",SqlDbType.NVarChar,100);// , 。
cmd.Parameters.Add(para); // , 。
cmd.Parameters["@thename"].Direction = ParameterDirection.Output; // , output 。
int i=cmd.ExecuteNonQuery();
string name = cmd.Parameters["@thename"].Value.ToString(); // , 。
MessageBox.Show(" " + name + " ", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
con.Close();
}
플러그 인 은 출력 매개 변 수 를 먼저 설명 하고 값 을 부여 한 다음 cmd 매개 변 수 를 추가 하고 마지막 으로 cmd.Execute NonQuery()로 실행 하 는 것 입 니 다.2.AddWithValue 로:
private void btnothers_Click(object sender, EventArgs e)
{
SqlConnection con = getcon();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "selbyid";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para = new SqlParameter();
cmd.Parameters.AddWithValue("@id", Convert.ToInt32(txtid.Text.Trim()));// addWithValue , Add
cmd.Parameters.Add("@thename", SqlDbType.NVarChar,100).Direction = ParameterDirection.Output; // , , cmd 。
con.Open();
int i = cmd.ExecuteNonQuery();
string name = cmd.Parameters["@thename"].Value.ToString(); // 。
MessageBox.Show(" " + name + " ", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
con.Close();
}
3.매개 변수 배열 로 입력 과 출력 매개 변 수 를 호출 하 는 저장 과정 을 실현 합 니 다.
private void btnshuzu_Click(object sender, EventArgs e)
{
SqlConnection con = getcon();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "selbyid";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] para = { new SqlParameter("@id", SqlDbType.Int)};
para[0].Value = Convert.ToInt32(txtid.Text.ToString().Trim());
cmd.Parameters.AddRange(para); // cmd.Parameter 。
cmd.Parameters.Add("@thename",SqlDbType.NVarChar,100).Direction = ParameterDirection.Output; // , 。
con.Open();
int i = cmd.ExecuteNonQuery();
string name = cmd.Parameters["@thename"].Value.ToString();
MessageBox.Show(" " + name + " ", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
con.Close();
}
총결산위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 C\#에서 Sqlparameter 를 사용 하 는 두 가지 용법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.