Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ช่วยดู error ให้ทีค่ะ ดึงข้อมูลจาก database ขึ้นมา +1 แล้วเก็บเข้าไปใหม่



 

ช่วยดู error ให้ทีค่ะ ดึงข้อมูลจาก database ขึ้นมา +1 แล้วเก็บเข้าไปใหม่

 



Topic : 084472



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์




คือหนูจะทำการดึงข้อมูล ID ตัวล่าสุดที่ถูกบันทึกลงไปจาก database ขึ้นมา แล้วนำค่ามา +1 เพื่อให้เป็น ID ถัดไปแล้วก็เก็บลง database

มันฟ้องเกี่ยวกับหนูใช้ตัวแปรไม่ถูก หรือ convert ไม่ถูกต้องประมาณนี้ มันฟ้อง หนูก็นั่งงมแก้ไปแก้มา error มันก็ฟ้องเปลี่ยนไป แต่ส่วนใหญ่จะฟ้องเกี่ยวกับประเภทตัวแปรค่ะ

ตอนนี้ error ล่าสุดมันฟ้องว่า Input string was not in a correct format.
บบทัดที่ Line 56: Convert.ToInt16(n2);

code ก็ประมาณนี้ค่ะ

Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data; 
using System.Data.SqlClient;
using System.Globalization;

namespace IT_REQ
{
    public partial class _Default : System.Web.UI.Page
    {
        

        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
        

        protected void submit_Click(object sender, EventArgs e)
        {
            // ส่วน connect //
            SqlConnection objConn;
            String strConnString;
            strConnString = "Server=*****;Uid=**;PASSWORD=***;database=test;";
            objConn = new SqlConnection(strConnString);
            objConn.Open();

            //************** ทดสอบ connect to database ***********//
            if (objConn.State == ConnectionState.Open)
            {
                this.lblText.Text = "SQL Server Connected";
            }
            else
            {
                this.lblText.Text = "SQL Server Connect Failed";
            }

            SqlTransaction tr = objConn.BeginTransaction();
            SqlCommand cmd = new SqlCommand();
            cmd = objConn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Transaction = tr;
            
            // date //
            DateTimeFormatInfo dateFormat = new CultureInfo("en-US").DateTimeFormat;
            string d = DateTime.Now.ToString("MM/dd/yyyy", dateFormat);
            // ส่วน query //
            //////////////////// *******  zone error *********//////////////////////
            string n = "SELECT no+1 FROM REQUEST ORDER BY no DESC";
            //cmd.CommandText = n;
            string n2 = n;
            Convert.ToInt16(n2);
            ///////////////////////////////////////////////////////////////////////
            string isUS = "INSERT INTO REQUEST(no,plant,name,dep,tel,date,type) " + 
                "VALUES('"+n2+"','"//ID
                          +this.DropDownList4.Text+"','"//name
                          +this.TextBox1.Text+"','"//plant
                          +this.TextBox2.Text+"','"//department
                          +this.TextBox3.Text+"','"//tel
                          +d+"','"//date
                          +this.CheckBox1.Text+"')";//type
            
            cmd.CommandText = isUS;
            cmd.ExecuteNonQuery();
            tr.Commit();


            
            objConn.Close();
            objConn = null;
            tr.Dispose();

            // clear //
            TextBox1.Text = ""; //name
            DropDownList4.ClearSelection();//plant
            TextBox2.Text = "";//department
            TextBox3.Text = "";//tel
            CheckBox1.Checked = false;//type
        }

    }
}


เรื่อง connect กับ database ลองแล้ว connect ได้ปกติค่ะ

ช่วยดูให้หนูทีนะค่ะ หนูก็นั่งงมไปงมมาจนอึน พอดีหนูพึ่งหัดไม่นานเท่าไหร่ค่ะ หรือเป็นเพราะว่าหนูแปลงค่าตัวแปรมั่วค่ะ T^T



Tag : Ms SQL Server 2008, Web (ASP.NET), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-24 16:30:46 By : วีรญา View : 1151 Reply : 5
 

 

No. 1



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


สวัสดีครับบ

ที่เห็นก็คือ คุณพยายามแปลง string เป็น int16 ใช่ป่ะครับ

ถ้าดูที่มาของ string จะเห็นว่า n2 มันเก็บค่าของ n ไว้ และค่าของ n ก็คือ "SELECT no+1 FROM REQUEST ORDER BY no DESC"

มันกลายเป็นว่าคุณ Convert.ToInt16( "SELECT no+1 FROM REQUEST ORDER BY no DESC"); ซึ่งทำไม่ได้แน่นอนครับ มันไม่ตรอง Format ครับผมมมมมม






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-24 17:50:06 By : chamachu
 


 

No. 2



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ค่ะ ตอนหนูนั่งงมก็คิดแบบพี่เลย ว่ากลัวว่ามันจะเอาค่า string ทั้งดุ้นนั้นมาแปลงเลย สรุปว่า มันยังไม่ทัน Execute ในดาต้าเบสเลยใช่มั๊ยค่ะ

หนูก็มั่วลองเอา cmd.CommandText = n; ก็ยิ่งไปกันใหญ่ แหะๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-25 05:56:33 By : วีรญา
 

 

No. 3



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


ใช่ครับ ตั้งแต่บรรทัดที่ 53 ถึง 57 ยังไม่มีการ Execute ใน Database เลยครับ คงต้องเพิ่มคำสั่งเข้าไปอีก มันเลยเอา string ทั้งหมดนั้นไป Convert

ขาดคำสั่ง
cmd.CommandText = n;
cmd.ExecuteReader(); หรือเปล่าครับ อะไรพวกนี้หรือเปล่า

ตรง execeute ผมไม่มั่นใจนะครับ ปกติใช้ DataAdapter อะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-26 09:39:49 By : chamachu
 


 

No. 4



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วค่ะ ขอบคุณมากค่ะ หนูลองเพิ่ม

Code (C#)
            cmd.CommandText = n;
            int a = cmd.ExecuteNonQuery();





Code (C#)
string n = "SELECT no FROM REQUEST ORDER BY no DESC ";

            cmd.CommandText = n;
            int a = cmd.ExecuteNonQuery();
            
            string isUS = "INSERT INTO REQUEST(no,plant,name,dep,tel,date,type) " + 
                "VALUES('"+(a+1)+"','"//ID
                          +this.DropDownList4.Text+"','"//name
                          +this.TextBox1.Text+"','"//plant
                          +this.TextBox2.Text+"','"//department
                          +this.TextBox3.Text+"','"//tel
                          +d+"','"//date
                          +this.CheckBox1.Text+"')";//type
            
            cmd.CommandText = isUS;
            cmd.ExecuteNonQuery();
            tr.Commit();


ค่าที่ได้ใน database เป็นตัวเลขแล้วค่ะ แต่ค่ายังไม่ถูก หนูต้องงมต่อไป ขอบคุณมากค่ะ :D


ประวัติการแก้ไข
2012-09-26 10:21:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-26 10:20:40 By : วีรญา
 


 

No. 5



โพสกระทู้ ( 43 )
บทความ ( 0 )



สถานะออฟไลน์


ดีใจด้วยคร๊าฟฟฟ ขอให้มีความสุขกับการเขียนโค็ดนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-02 09:47:02 By : chamachu
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดู error ให้ทีค่ะ ดึงข้อมูลจาก database ขึ้นมา +1 แล้วเก็บเข้าไปใหม่
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่