首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在表中插入Int以及Textbox=varchar和Richtextbox=(varcharMax)类型

如何在表中插入Int以及Textbox=varchar和Richtextbox=(varcharMax)类型
EN

Stack Overflow用户
提问于 2019-12-20 22:50:01
回答 3查看 69关注 0票数 0

我一直在尝试将用户输入的值插入到我的sql DB中,但是失败了很多次。以下是我尝试过的不同方法:

代码语言:javascript
复制
private void VessDet_Load(object sender, EventArgs e)
{
    // SqlCommand cmd = new SqlCommand(" insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) values ( " + txtImo.Text + ",'" + txtName.Text + "'," + txtFirstBay.Text + "," + txtLastBay.Text +",'" + richTextBox1.Text + "' ) ", cnx);

    SqlCommand cmd = new SqlCommand(" insert into Ves (Imo,VEsName,First_Bay,Last_Bay,TL_Condition) values ( @Imo,@VEsName,@First_Bay,@Last_Bay,@TL_Condition ) ", cnx);
      cnx.Open();
         cmd.Parameters.Add("@Imo", txtImo.Text);
         cmd.Parameters.Add("@VEsName", txtImo.Text);
         cmd.Parameters.Add("@First_Bay", txtImo.Text);
         cmd.Parameters.Add("@Last_Bay", txtImo.Text);
         cmd.Parameters.Add("@TL_Condition", txtImo.Text);
         cmd.ExecuteNonQuery();
         cnx.Close();
}

下面是我尝试的第二种方法

代码语言:javascript
复制
private void VessDet_Load(object sender, EventArgs e)
{
    // SqlCommand cmd = new SqlCommand(" insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) values ( " + txtImo.Text + ",'" + txtName.Text + "'," + txtFirstBay.Text + "," + txtLastBay.Text +",'" + richTextBox1.Text + "' ) ", cnx);

      string ab = ("insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) Values ('" + txtImo.Text+"','"+txtName.Text+ "' ,"+txtFirstBay.Text+" ,"+txtLastBay.Text +" ,'"+richTextBox1.Text.ToString()+"' )");
      SqlCommand cmd = new SqlCommand(ab, cnx);
      cnx.Open();
        cmd.ExecuteNonQuery();
        cnx.Close();

}
EN

回答 3

Stack Overflow用户

发布于 2019-12-20 23:00:29

第一件事是确保您的连接字符串已初始化。

附注:看起来你可能是在复制/粘贴txtImo.Text,而不是使用正确的文本框。

更新:

尝试将文本字段转换为整数。我相信它的语法是:(int)txtbox.Text

更新2:

尝试使用显式声明的数据库类型添加参数: cmd.Parameters.Add("@Imo",SqlDbType.Int).Value = Int.Parse(txtImo.Text);

顺便说一句,Int.Parse是这里转换为整数的正确方法。

票数 0
EN

Stack Overflow用户

发布于 2019-12-20 23:15:27

我猜您正在尝试将字符串值发送到整数参数。

代码语言:javascript
复制
    cmd.Parameters.Add("@Imo", txtImo.Text);
    cmd.Parameters.Add("@VEsName", txtImo.Text);
    cmd.Parameters.Add("@First_Bay", int.Parse(txtImo.Text));
    cmd.Parameters.Add("@Last_Bay", int.Parse(txtImo.Text));
    cmd.Parameters.Add("@TL_Condition", txtImo.Text);
票数 0
EN

Stack Overflow用户

发布于 2019-12-21 06:50:59

大家好,这本来是我的帖子,实际上我不得不吃东西,不管怎样,我找到了问题所在,如果你回到代码中,你会很容易地注意到,我试图插入…在LOAD_form中,我所做的就是切换到按钮代码并输入该代码谢谢大家的帮助,你是最棒的

私有无效VessDet_Load(对象发送者,EventArgs e) {

这是代码应该放在的地方

私有空BNext_Click(对象发送者,EventArgs e) {

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59427169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档