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 를 사용 하 는 두 가지 용법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기