会员登录 用户名: 密码: 登录 新会员注册 [找回密码]
当前位置:编程论坛 >> C/S程序开发专区 >> .Net编程论坛 >> ADO.NET问题。
首页
  发表一个新主题  发表一个新投票  回复主题 您是本帖的第 495 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
 * 贴子主题:ADO.NET问题。 悬赏分50 [已结帖] 报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 W65138497 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:143
  专家分:0
  提问帖:2/1
  回答帖:5
  总帖数:21
  经验值:84
  注 册:2008-3-19
给W65138497发送一个短消息 把W65138497加入好友 查看W65138497的个人资料 搜索W65138497在.Net编程论坛的所有贴子  引用回复这个贴子 回复这个贴子楼主
发贴心情 

ADO.NET问题。

为什么在ADO.NET中用到Split()这个方法后运行就会报未将对象引用设置到实例
发帖:2008-5-11 17:09:00
  鲜花(0)  鸡蛋(0)
 贷款造航母 帅哥哟,离线,有人找我吗?
  
  
  等 级:论坛游民
  积 分:3600
  专家分:2135
  提问帖:0/0
  回答帖:178
  总帖数:199
  经验值:264
  注 册:2008-3-8
给贷款造航母发送一个短消息 把贷款造航母加入好友 查看贷款造航母的个人资料 搜索贷款造航母在.Net编程论坛的所有贴子 引用回复这个贴子 回复这个贴子2
发贴心情 

应该是参数是空或者调用对象没有创建实例,最好把相关代码粘上来
发帖:2008-5-11 18:10:00
 singletu 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:418
  专家分:203
  提问帖:1/1
  回答帖:16
  总帖数:20
  经验值:72
  注 册:2008-3-20
给singletu发送一个短消息 把singletu加入好友 查看singletu的个人资料 搜索singletu在.Net编程论坛的所有贴子  引用回复这个贴子 回复这个贴子3
发贴心情 

可能是调用split()方法的对象或其参数没有实例化把。
发帖:2008-5-11 20:12:00
 张凌云 帅哥哟,离线,有人找我吗?
  
  
  头 衔:小小程序员
  等 级:初出江湖
  积 分:1420
  专家分:551
  提问帖:0/0
  回答帖:73
  总帖数:94
  经验值:161
  注 册:2007-5-14
给张凌云发送一个短消息 把张凌云加入好友 查看张凌云的个人资料 搜索张凌云在.Net编程论坛的所有贴子 引用回复这个贴子 回复这个贴子4
发贴心情 

代码拿过来看看

做好程序是我的职责所在,还请大家多多指教。

发帖:2008-5-11 22:33:00
 W65138497 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:143
  专家分:0
  提问帖:2/1
  回答帖:5
  总帖数:21
  经验值:84
  注 册:2008-3-19
给W65138497发送一个短消息 把W65138497加入好友 查看W65138497的个人资料 搜索W65138497在.Net编程论坛的所有贴子  引用回复这个贴子 回复这个贴子5
发贴心情 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace DemoTwo
{
    public partial class Form1 : Form
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        SqlTransaction trans = null;

        public Form1()
        {
            InitializeComponent();
            conn = new SqlConnection();
            conn.ConnectionString = "server=.;uid=sa;pwd=;database=HomeWork";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string s=null;
            string s1=null;
            if(radioButton1.Checked)
            {
                s=radioButton1.Text;
            }
            if(radioButton2.Checked)
            {
                s=radioButton2.Text;
            }
            if(radioButton3.Checked)
            {
                s1=radioButton3.Text;
            }
            else
            {
                s1=radioButton4.Text;
            }
            try
            {
                conn.Open();
                trans = conn.BeginTransaction();
                string sqlOne="insert into TableFour values('"+textBox9.Text+"','"+textBox10.Text+"')";
                cmd = new SqlCommand(sqlOne, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlTwo = "insert into TableThree values('" + textBox7.Text + "','" + textBox8.Text + "')";
                cmd = new SqlCommand(sqlTwo, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlThree = "insert into TableTwo values('" + textBox5.Text + "','" + textBox6.Text + "','" + s1 + "','" + textBox7.Text + "')";
                cmd = new SqlCommand(sqlThree, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlFour = "insert  into TableOne values('" + textBox1.Text + "','" + textBox3.Text + "','"+int.Parse(textBox2.Text)+"','" + s + "','" + textBox5.Text + "','" + textBox4.Text + "','" + textBox9.Text + "')";
                cmd = new SqlCommand(sqlFour, conn, trans);
                cmd.ExecuteNonQuery();
                trans.Commit();
                MessageBox.Show("添加成功!");
            }
            catch (SqlException ex)
            {
                trans.Rollback();
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                trans = conn.BeginTransaction();
                //1.删除表格一
                string sqlOne="delete TableOne where BId='"+int.Parse(textBox1.Text)+"'";
                cmd = new SqlCommand(sqlOne, conn, trans);               
                cmd.ExecuteNonQuery();
                //2.根据BId查到医生的编号和病症的类型
                string sqlFive = "select *from TableOne where BId='" + int.Parse(textBox1.Text) + "'";
                cmd=new SqlCommand(sqlFive,conn,trans);
                SqlDataReader sdr = cmd.ExecuteReader();
                sdr.Read();
                string s=null;
                if (sdr.HasRows)
                {
                    for (int i = 0; i < sdr.FieldCount; i++)
                    {
                        s += sdr.GetValue(i) + " ";
                    }
                }
                string [] arr=s.Split(' ');
                string YId=arr[4];
                string TId=arr[6];
                string sqlTwo = "delete TableTwo where Yid='"+int.Parse(YId)+"'";
                cmd = new SqlCommand(sqlTwo, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlSix="select *from TableTwo where YId='"+int.Parse(YId)+"'";
                cmd = new SqlCommand(sqlSix, conn, trans);
                SqlDataReader sqdr = cmd.ExecuteReader();
                sqdr.Read();
                sdr.Read();
                string s1= null;
                if (sdr.HasRows)
                {
                    for (int i = 0; i < sdr.FieldCount; i++)
                    {
                        s1+= sdr.GetValue(i) + " ";
                    }
                }
                string[] arr1 = s1.Split(' ');
                string KId=arr1[3];
                string sqlThree = "delete TableThree where Kid='"+int.Parse(KId)+"'";
                cmd = new SqlCommand(sqlThree, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlFour = "delete TableFour where TId='"+int.Parse(TId)+"'";
                cmd = new SqlCommand(sqlFour, conn, trans);
                cmd.ExecuteNonQuery();
                trans.Commit();
                MessageBox.Show("删除成功!");
            }
            catch (SqlException ex)
            {
                trans.Rollback();
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
    }
}

发帖:2008-5-11 23:58:00
 苦寒 帅哥哟,离线,有人找我吗?
  
  
  等 级:论坛游民
  积 分:2017
  专家分:1036
  提问帖:0/0
  回答帖:132
  总帖数:143
  经验值:223
  注 册:2008-4-25
给苦寒发送一个短消息 把苦寒加入好友 查看苦寒的个人资料 搜索苦寒在.Net编程论坛的所有贴子 引用回复这个贴子 回复这个贴子6
发贴心情 

你有几个地方都使用了,但哪个地方出错呢?
我找了一个你的代码
  string s1= null;
                if (sdr.HasRows)
                {
                    for (int i = 0; i < sdr.FieldCount; i++)
                    {
                        s1+= sdr.GetValue(i) + " ";
                    }
                }
                string[] arr1 = s1.Split(' ');
当条件判断为false时,s1=null;
你可以把string s1= null;
修改为string s1=”“;
另外在你的程序中多次对s1进行修改,建议使用stringbuilder.

一生一死一悲欢
一冬一夏一苦寒

发帖:2008-5-12 9:16:00
 W65138497 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:143
  专家分:0
  提问帖:2/1
  回答帖:5
  总帖数:21
  经验值:84
  注 册:2008-3-19
给W65138497发送一个短消息 把W65138497加入好友 查看W65138497的个人资料 搜索W65138497在.Net编程论坛的所有贴子  引用回复这个贴子 回复这个贴子7
发贴心情 

主要的问题不在那里,而是,在后面的裂开字符串放在字符串数组中的那段代码?
发帖:2008-5-12 11:11:00
 苦寒 帅哥哟,离线,有人找我吗?
  
  
  等 级:论坛游民
  积 分:2017
  专家分:1036
  提问帖:0/0
  回答帖:132
  总帖数:143
  经验值:223
  注 册:2008-4-25
给苦寒发送一个短消息 把苦寒加入好友 查看苦寒的个人资料 搜索苦寒在.Net编程论坛的所有贴子 引用回复这个贴子 回复这个贴子8
发贴心情 

就是这一句嘛,
string[] arr1 = s1.Split(' ');
这里s1可能为null,当然不行啊!

一生一死一悲欢
一冬一夏一苦寒

发帖:2008-5-13 14:35:00
 qjjwanboy 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:124
  专家分:5
  提问帖:3/2
  回答帖:1
  总帖数:16
  经验值:91
  注 册:2007-4-18
给qjjwanboy发送一个短消息 把qjjwanboy加入好友 查看qjjwanboy的个人资料 搜索qjjwanboy在.Net编程论坛的所有贴子  引用回复这个贴子 回复这个贴子9
发贴心情 

加 if 判断 如下:

 if (sdr.HasRows)
                {
                    for (int i = 0; i < sdr.FieldCount; i++)
                    {
                        s += sdr.GetValue(i) + " ";
                    }
                }
        if (s != null)
        {
                string [] arr=s.Split(' ');
                string YId=arr[4];
                string TId=arr[6];
                string sqlTwo = "delete TableTwo where Yid='"+int.Parse(YId)+"'";
                cmd = new SqlCommand(sqlTwo, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlSix="select *from TableTwo where YId='"+int.Parse(YId)+"'";
                cmd = new SqlCommand(sqlSix, conn, trans);
                SqlDataReader sqdr = cmd.ExecuteReader();
                sqdr.Read();
                sdr.Read();
                string s1= null;
                if (sdr.HasRows)
                {
                    for (int i = 0; i < sdr.FieldCount; i++)
                    {
                        s1+= sdr.GetValue(i) + " ";
                    }
                }
            if (s1 != null)
            {
                string[] arr1 = s1.Split(' ');
                string KId=arr1[3];
                string sqlThree = "delete TableThree where Kid='"+int.Parse(KId)+"'";
                cmd = new SqlCommand(sqlThree, conn, trans);
                cmd.ExecuteNonQuery();
                string sqlFour = "delete TableFour where TId='"+int.Parse(TId)+"'";
                cmd = new SqlCommand(sqlFour, conn, trans);
                cmd.ExecuteNonQuery();
                trans.Commit();
                MessageBox.Show("删除成功!");
            }
        }

发帖:2008-5-17 17:00:00

本主题贴数9,分页:[上一页] [1] [下一页]

此主题已经结帖:

张凌云-5,贷款造航母-5,苦寒-35,singletu-5

 *快速回复:ADO.NET问题。  [ 回帖是一种美德 :) ]
会员账号 用户名    还没注册?    密码    忘记密码?
内容
  • HTML标签: 不可用
  • UBB标签: 可用
  • 贴图标签: 可用
  • 多媒体标签:可用
  • 表情字符转换:可用
  • 上传图片:不可用
  • 最多15KB
  • 点击表情图即可在帖子中加入相应的表情
                                
    邮件回复 显示签名   [Ctrl+Enter直接提交贴子]

    管理选项锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告